Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH 0/5] SWIM loglog preparation
@ 2019-07-03 23:28 Vladislav Shpilevoy
  2019-07-03 23:28 ` [tarantool-patches] [PATCH 1/5] swim: fix flaky 'indirect pings' test Vladislav Shpilevoy
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Vladislav Shpilevoy @ 2019-07-03 23:28 UTC (permalink / raw)
  To: tarantool-patches; +Cc: kostja

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

-- 
2.20.1 (Apple Git-117)

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-07-05 22:43 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-03 23:28 [tarantool-patches] [PATCH 0/5] SWIM loglog preparation Vladislav Shpilevoy
2019-07-03 23:28 ` [tarantool-patches] [PATCH 1/5] swim: fix flaky 'indirect pings' test Vladislav Shpilevoy
2019-07-04  8:20   ` [tarantool-patches] " Konstantin Osipov
2019-07-03 23:28 ` [tarantool-patches] [PATCH 2/5] swim: sadly remove cache Vladislav Shpilevoy
2019-07-04  8:22   ` [tarantool-patches] " Konstantin Osipov
2019-07-03 23:28 ` [tarantool-patches] [PATCH 3/5] test: redo some swim tests using error injections Vladislav Shpilevoy
2019-07-04  8:23   ` [tarantool-patches] " Konstantin Osipov
2019-07-03 23:28 ` [tarantool-patches] [PATCH 4/5] swim: speed-up tests Vladislav Shpilevoy
2019-07-04  8:24   ` [tarantool-patches] " Konstantin Osipov
2019-07-03 23:28 ` [tarantool-patches] [PATCH 5/5] swim: speed-up empty payloads cluster bootstrap Vladislav Shpilevoy
2019-07-04  8:26   ` [tarantool-patches] " Konstantin Osipov
2019-07-05 22:44 ` [tarantool-patches] Re: [PATCH 0/5] SWIM loglog preparation Vladislav Shpilevoy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox