[PATCH v2 0/6] SWIM

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Tue Dec 25 22:19:23 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 the first three commits.

Last two commits are technical improvements.

Note, these commits contain bugs, typos, and have no tests. The goal of this
review is a highlevel approval of API so as to start writing tests.

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

Changes in v2:
- new API with explicit members addition, removal;
- ability to create multiple SWIM instances per one Tarantool process;
- multi-packet sending of one SWIM message.

V1: https://www.freelists.org/post/tarantool-patches/PATCH-05-SWIM

Vladislav Shpilevoy (6):
  [RAW] swim: introduce SWIM's anti-entropy component
  [RAW] swim: introduce failure detection component
  [RAW] swim: introduce a dissemination component
  [RAW] swim: keep encoded round message cached
  [RAW] swim: send one UDP packet per EV_WRITE event

 src/CMakeLists.txt          |    3 +-
 src/evio.c                  |    3 +-
 src/evio.h                  |    4 +
 src/lib/CMakeLists.txt      |    1 +
 src/lib/swim/CMakeLists.txt |    6 +
 src/lib/swim/swim.c         | 1868 ++++++++++++++++++++++++++++++
 src/lib/swim/swim.h         |  130 ++
 src/lua/init.c              |    2 +
 src/lua/swim.c              |  243 ++++
 src/lua/swim.h              |   47 +
 10 files changed, 2304 insertions(+), 3 deletions(-)
 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

-- 
2.17.2 (Apple Git-113)




More information about the Tarantool-patches mailing list