[tarantool-patches] [PATCH 0/6] swim suspicion

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Wed Apr 24 17:36:14 MSK 2019


For details of the suspicion component look at the last commit. Here is a
description of the patchset in whole.

Most of the commits are preparatory patches to make suspicion introduction
smoother. First 4 commits refactor the code so as to make it more readable, to
simplify writing new tests.

Next to the last patch about routing is in fact the key part of the patchset. It
introduces new section in SWIM packets for routes. Route is a pair: source and
destination addresses. With help of the routing it becomes possible to send any
SWIM packets indirectly via arbitrary SWIM member to another member.

The last commit just harnesses routing section to send the same ping/ack
messages, but indirectly after several direct attempts.

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

Vladislav Shpilevoy (6):
  test: rename swim_cluster_node to swim_cluster_member
  test: remove swim packet filter destructors
  test: introduce swim packet filter by destination address
  swim: wrap sio_strfaddr()
  swim: introduce routing
  swim: introduce suspicion

 src/lib/swim/swim.c             | 257 +++++++++++++++++++++++++---
 src/lib/swim/swim_constants.h   |   6 +
 src/lib/swim/swim_io.c          |  99 +++++++++--
 src/lib/swim/swim_io.h          |  15 +-
 src/lib/swim/swim_proto.c       |  92 +++++++++-
 src/lib/swim/swim_proto.h       |  72 +++++++-
 test/unit/swim.c                | 104 ++++++++----
 test/unit/swim.result           |  30 ++--
 test/unit/swim_proto.c          |  56 ++++++-
 test/unit/swim_proto.result     |  11 +-
 test/unit/swim_test_transport.c |  24 +--
 test/unit/swim_test_transport.h |  17 +-
 test/unit/swim_test_utils.c     | 288 ++++++++++++++++++++++++--------
 test/unit/swim_test_utils.h     |  13 +-
 14 files changed, 903 insertions(+), 181 deletions(-)

-- 
2.20.1 (Apple Git-117)





More information about the Tarantool-patches mailing list