From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Vladislav Shpilevoy Subject: [PATCH 0/5] SWIM Date: Mon, 17 Dec 2018 15:53:18 +0300 Message-Id: To: tarantool-patches@freelists.org Cc: vdavydov.dev@gmail.com List-ID: 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)