Skip to content
Snippets Groups Projects
  1. Mar 10, 2021
    • Igor Munkin's avatar
      luajit: bump new version · 1458a2b2
      Igor Munkin authored
      LuaJIT submodule is bumped to introduce the following changes:
      * test: adjust LuaJIT test suite for Tarantool
      * test: change LuaJIT test suite to match b4e6bf0
      * test: change LuaJIT test suite to match 5a61e1a
      * test: change LuaJIT test suite to match c198167
      * test: change LuaJIT test suite to match de5568e
      * test: add LuaJIT-test-cleanup test suite
      * test: fix Lua command in utils.selfrun
      * test: fix luacheck invocation for non-real paths
      
      Within this changeset LuaJIT-test-cleanup suite[1] is added to Tarantool
      testing. Considering Tarantool specific changes in runtime the suite
      itself is adjusted in LuaJIT submodule. However, there is <strict>
      module enabled by default in Debug build, so the testing environment
      need to be tweaked via test/luajit-test-init.lua script to be run prior
      to every LuaJIT suite test is started.
      
      [1]: https://github.com/LuaJIT/LuaJIT-test-cleanup/tree/014708b/test
      
      
      
      Closes #4064
      Part of #4473
      
      Reviewed-by: default avatarSergey Kaplun <skaplun@tarantool.org>
      Reviewed-by: default avatarSergey Ostanevich <sergos@tarantool.org>
      Signed-off-by: default avatarIgor Munkin <imun@tarantool.org>
      Unverified
      1458a2b2
  2. Mar 08, 2021
  3. Mar 05, 2021
  4. Mar 04, 2021
  5. Mar 03, 2021
  6. Mar 02, 2021
  7. Feb 28, 2021
  8. Feb 26, 2021
    • Serge Petrenko's avatar
      wal: change WAL_ROWS_PER_YIELD to a power of 2 · 4842c090
      Serge Petrenko authored
      row_count % WAL_ROWS_PER_YIELD == 0 is tested by both local recovery and relay
      on each recovered row, so it makes sense to have this constant a power of two,
      so that the compiler could replace '%' with bitwise and.
      
      WAL_ROWS_PER_YIELD used to be 32000, so change it to the closest power
      of two: 32768 == 2 ^ 15.
      
      Follow-up #5762
      4842c090
    • Serge Petrenko's avatar
      relay: yield explicitly every N sent rows · 30ad4a55
      Serge Petrenko authored
      While sending a WAL, relay only yields in `coio_write_xrow`, once it
      sees the socket isn't ready for writes.
      It may happen that the socket is always ready for a long period of time,
      and relay doesn't yield at all while recovering a whole .xlog file. This
      may take well more than a minute.
      During this period of time, relay doesn't read replica's ACKs due to
      relay reader fiber not being scheduled, and once the reader is finally
      live it times out immediately, causing the replica to reconnect.
      
      The problem mostly occurs when replica is syncing with master, so there
      are always some WALs to read, and is amplified by the fact that replica
      waits for replication_timeout to pass prior to reconnecting, which lets
      master pile up even more ready WALs, and effectively making it impossible
      for the replica to sync.
      
      To fix the problem let's yield explicitly in relay_send_row every
      WAL_ROWS_PER_YIELD rows. The same is already done in local recovery, and
      serves the same purpose: to not block the event loop for too long.
      
      Closes #5762
      30ad4a55
  9. Feb 24, 2021
  10. Feb 19, 2021
  11. Feb 18, 2021
Loading