From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 74F5A2BB03 for ; Wed, 24 Apr 2019 10:36:29 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8Y2k_Si5ZRJB for ; Wed, 24 Apr 2019 10:36:29 -0400 (EDT) Received: from smtp45.i.mail.ru (smtp45.i.mail.ru [94.100.177.105]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 35FCC2BAD0 for ; Wed, 24 Apr 2019 10:36:29 -0400 (EDT) From: Vladislav Shpilevoy Subject: [tarantool-patches] [PATCH 0/6] swim suspicion Date: Wed, 24 Apr 2019 17:36:14 +0300 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-Help: List-Unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-Subscribe: List-Owner: List-post: List-Archive: To: tarantool-patches@freelists.org Cc: kostja@tarantool.org 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)