[PATCH 0/5] SWIM

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Mon Dec 17 15:53:18 MSK 2018


First commit message is a comprehensive information about SWIM
which I will not duplicate here. This is only description of the
patchset.

SWIM consists of two main components - dissemination and failure
detection, and one additional component - anti-entropy. The
patchset introduces them one by one in separate commits.

Next to last commit introduces suspected status of a cluster
member, but without indirect pings, described in the origianl
SWIM. Just for simplicity, and to be honest, I just don't think
that indirect pings makes any sense but academical interest.

Last commit is just an optimization to save some TX thread CPU
time.

Note, these commits can contain bugs, typos, and have no tests.
The goal of this review is a highlevel approval.

http://github.com/tarantool/tarantool/tree/gerold103/gh-3234-swim
https://github.com/tarantool/tarantool/issues/3234

Vladislav Shpilevoy (5):
  swim: introduce SWIM's anti-entropy component
  swim: introduce failure detection component
  swim: introduce a dissemination component
  swim: introduce "suspected" status
  swim: keep encoded round message cached

 src/CMakeLists.txt          |    3 +-
 src/lib/CMakeLists.txt      |    1 +
 src/lib/swim/CMakeLists.txt |    6 +
 src/lib/swim/swim.c         | 1674 +++++++++++++++++++++++++++++++++++
 src/lib/swim/swim.h         |   83 ++
 src/lua/init.c              |    2 +
 src/lua/swim.c              |  151 ++++
 src/lua/swim.h              |   47 +
 test/swim/app.lua           |   15 +
 test/swim/basic.result      |  195 ++++
 test/swim/basic.test.lua    |   61 ++
 test/swim/suite.ini         |    6 +
 test/swim/swim_utils.lua    |    9 +
 13 files changed, 2252 insertions(+), 1 deletion(-)
 create mode 100644 src/lib/swim/CMakeLists.txt
 create mode 100644 src/lib/swim/swim.c
 create mode 100644 src/lib/swim/swim.h
 create mode 100644 src/lua/swim.c
 create mode 100644 src/lua/swim.h
 create mode 100644 test/swim/app.lua
 create mode 100644 test/swim/basic.result
 create mode 100644 test/swim/basic.test.lua
 create mode 100644 test/swim/suite.ini
 create mode 100644 test/swim/swim_utils.lua

-- 
2.17.2 (Apple Git-113)




More information about the Tarantool-patches mailing list