Skip to content
Snippets Groups Projects
  1. Jan 14, 2022
    • Vladimir Davydov's avatar
      test: use wait_cond in vinyl/deferred_delete test · 8c913a10
      Vladimir Davydov authored
      It's better than hand-written busy-wait.
      8c913a10
    • Vladimir Davydov's avatar
      test: fix flaky vinyl/gc test · cd9fd77e
      Vladimir Davydov authored
      The commit fixes the following test failure:
      
      ```
      [013] vinyl/gc.test.lua                                               [ fail ]
      [013]
      [013] Test failed! Result content mismatch:
      [013] --- vinyl/gc.result	Fri Dec 24 12:27:33 2021
      [013] +++ /build/usr/src/debug/tarantool-2.10.0~beta2.18.dev/test/var/rejects/vinyl/gc.reject	Thu Dec 30 10:29:29 2021
      [013] @@ -102,7 +102,7 @@
      [013]  ...
      [013]  check_files_number(2)
      [013]  ---
      [013] -- true
      [013] +- null
      [013]  ...
      [013]  -- All records should have been purged from the log by now
      [013]  -- so we should only keep the previous log file.
      ```
      
      The reason of the failure is that vylog files are deleted asynchronously
      (`box.snapshot()` doesn't wait for `unlink` to complete) since commit
      8e429f4b ("wal: remove old xlog files
      asynchronously"). So to fix the test, we just need to make the test wait
      for garbage collection to complete.
      
      Follow-up #5383
      cd9fd77e
    • mechanik20051988's avatar
      small: fix assertion during slab allocation · 68c29688
      mechanik20051988 authored
      When `slab_get` is called from `region_alloc` or `ibuf_alloc` first
      of all we try to calculate order of appropriate slab. But there is
      no check that requested size with slab meta is <= UINT32_MAX, that
      leads to assertion failer in `slab_order` function. There is no
      need for this assertion we should return `cache->order_max + 1`
      for this case.
      
      Closes #6726
      68c29688
  2. Jan 13, 2022
  3. Jan 12, 2022
  4. Jan 10, 2022
  5. Jan 04, 2022
  6. Dec 30, 2021
  7. Dec 29, 2021
    • Yaroslav Lobankov's avatar
      ci: add integration check for memcached module · e493b777
      Yaroslav Lobankov authored
      This patch extends the 'integration.yml' workflow and adds a new
      workflow call for running tests to verify integration between tarantool
      and the memcached module.
      
      Part of #5265
      Part of #6056
      Closes #6563
      e493b777
    • Aleksandr Lyapunov's avatar
      lib: insignificant change to calm down coverity checker · bd675395
      Aleksandr Lyapunov authored
      Now scan.coverity.com reports "Overrunning buffer pointed to by
      &map of 4 bytes by passing it to a function which accesses it at
      byte offset 7" in bit_iterator_init call.
      
      Add an unit test that verifies that bit iterator works correctly
      with small size bitmaps (like uint32_t).
      
      Change condition a bit hoping that it will calm down the checker.
      
      No functional changes.
      bd675395
  8. Dec 28, 2021
  9. Dec 27, 2021
    • Serge Petrenko's avatar
      recovery: panic in case of recovery and replicaset vclock mismatch · 634f59c7
      Serge Petrenko authored
      We assume that no one touches the instance's WALs, once it has taken the
      wal_dir_lock. This is not the case when upgrading from an old setup
      (running tarantool 1.7.3-6 or less). Such nodes either take a lock on
      snap dir, which may be different from wal dir, or don't take the lock at
      all.
      
      So, it's possible that during upgrade an old node is not stopped
      properly before a new node is started in the same data directory.
      
      The old node might even write some extra data to WAL during new node's
      startup.
      
      This is obviously bad and leads to multiple issues. For example, new node
      might start local recovery, scan the WALs and set replicaset.vclock to
      some value {1 : 5}. While the node recovers WALs they are appended by the old
      node up to vclock {1 : 10}.
      The node finishes local recovery with replicaset vclock {1 : 5}, but
      data recovered up to vclock {1 : 10}.
      
      The node will use the now outdated replicaset vclock to subscribe to
      remote peers (leading to replication breaking due to duplicate keys
      found), to initialize WAL (leading to new xlogs appearing with duplicate
      LSNs). There might be a number of other issues we just haven't stumbled
      upon.
      
      Let's prevent situations like that and panic as soon as we see that the
      initially scanned vclock (replicaset vclock) differs from actually
      recovered vclock.
      
      Closes #6709
      634f59c7
  10. Dec 24, 2021
  11. Dec 23, 2021
  12. Dec 21, 2021
    • AnaNek's avatar
      build: link bundled libcurl with nghttp2 · fa8d70ca
      AnaNek authored
      Before this patch Tarantool http client did not support HTTP/2.
      The reasons to enable HTTP/2 support are efficiency offered by
      the protocol and potential ability to interact with a GRPC server.
      The CMake version requirement is updated from 3.2 to 3.3, because
      we need generator expressions in cmake for setting multiple paths
      in CMAKE_FIND_ROOT_PATH for nghttp2 support.
      
      Closes #5771
      
      @TarantoolBot document
      Title: Now we require CMake 3.3 to build tarantool
      
      In tarantool/doc#2065 we requested to update
      the CMake minimum version to 3.2. Now it is time for 3.3.
      See details in the linked commit.
      fa8d70ca
    • Andrey Saranchin's avatar
      build: fix build with glibc-2.34 · 9c01b325
      Andrey Saranchin authored
      Macros SIGSTKSZ used to be an integral constant but
      in glibc-2.34 it turned into a runtime function so it
      cannot be used as constant known size for arrays anymore.
      
      Beyond this, SIGSTKSZ is not enough for alt. signal stack size
      when you use ASAN, so the size was increased.
      
      Closes #6686
      9c01b325
Loading