[tarantool-patches] Re: [PATCH 0/5] SWIM loglog preparation
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Sat Jul 6 01:44:52 MSK 2019
Pushed to the master.
On 04/07/2019 01:28, Vladislav Shpilevoy wrote:
> The patchset prepares ground for a new SWIM's killer feature -
> O(log(log(cluster_size))) full dissemination time.
>
> Most of the commits are quite obvious, see their commit messages.
>
> The last two ones could look strange. I've the final loglog commit on another
> branch, and it slows down the SWIM tests in 2-3 times just spending much and
> much more time on checking and decoding MessagePack in the padded out messages.
> According to the profiler, most of the time is spent in mp_decode/check_uint,
> when I use Debug build.
>
> The last two commits compensate that problem, making the tests perhaps even
> faster than before the whole 4253. Especially the last one. See their messages
> for details.
>
> Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-4253-loglog-preparation
> Issue: https://github.com/tarantool/tarantool/issues/4253
>
> Vladislav Shpilevoy (5):
> swim: fix flaky 'indirect pings' test
> swim: sadly remove cache
> test: redo some swim tests using error injections
> swim: speed-up tests
> swim: speed-up empty payloads cluster bootstrap
>
> src/lib/core/errinj.h | 1 +
> src/lib/swim/swim.c | 53 ++++------
> test/swim/errinj.result | 102 ++++++++++++++++++
> test/swim/errinj.test.lua | 41 ++++++++
> test/swim/suite.ini | 1 +
> test/swim/swim.result | 55 ----------
> test/swim/swim.test.lua | 22 ----
> test/unit/CMakeLists.txt | 5 +
> test/unit/suite.ini | 1 +
> test/unit/swim.c | 197 ++--------------------------------
> test/unit/swim.result | 31 ++----
> test/unit/swim_errinj.c | 199 +++++++++++++++++++++++++++++++++++
> test/unit/swim_errinj.result | 18 ++++
> test/unit/swim_test_utils.c | 102 ++++++------------
> test/unit/swim_test_utils.h | 24 +++--
> 15 files changed, 456 insertions(+), 396 deletions(-)
> create mode 100644 test/swim/errinj.result
> create mode 100644 test/swim/errinj.test.lua
> create mode 100644 test/unit/swim_errinj.c
> create mode 100644 test/unit/swim_errinj.result
>
More information about the Tarantool-patches
mailing list