Tarantool development patches archive
 help / color / mirror / Atom feed
From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
To: tarantool-patches@freelists.org
Cc: kostja@tarantool.org
Subject: [tarantool-patches] [PATCH v2 0/6] swim dissemination
Date: Tue,  9 Apr 2019 14:46:31 +0300	[thread overview]
Message-ID: <cover.1554809200.git.v.shpilevoy@tarantool.org> (raw)

The patchset consists of preparatory patches for dissemination to make the code
more reusable and the tests faster, and of the dissemination component itself.

I do not duplicate here the component description, it is quite comprehensive
in the commit message and comments. The only remarkable thing is that the
component alone does not care about changed uuid steady dissemination. Here UUID
update looks just like any other update with some minor differencies. And it
leads to a 'bug', that even with the stable network and the fullmesh a ghost of
the old UUID will live in the cluster until it is dropped by failure detection
component. It takes long time, since ack_timeout is 30 seconds by default, and
it is necessary to unack 5 pings to drop a member - 2.5 minutes in total.

Next patches will fix that problem for the most popular case.

The patchset is a sent as a new version because Kostja explicitly asked for that
despite extra minor review fixes, mostly (if not totally) focused on names and
comments.

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

V1: https://www.freelists.org/post/tarantool-patches/PATCH-05-swim-dissemination-component

Changes in v2:
  - renames and comments.

Vladislav Shpilevoy (6):
  swim: encapsulate member bin info into a 'passport'
  swim: make members array decoder be a separate function
  test: rename some swim test methods and macros
  test: speed up swim big cluster failure detection
  test: set packet drop rate instead of flag in swim tests
  swim: introduce dissemination component

 src/lib/swim/swim.c             | 202 ++++++++++++++++++++++++++++++--
 src/lib/swim/swim.h             |   4 +
 src/lib/swim/swim_proto.c       |  72 +++++++++---
 src/lib/swim/swim_proto.h       |  82 ++++++++++++-
 test/unit/swim.c                | 185 ++++++++++++++++++-----------
 test/unit/swim.result           |  27 +++--
 test/unit/swim_test_transport.c |  27 +++--
 test/unit/swim_test_transport.h |   9 +-
 test/unit/swim_test_utils.c     |  63 +++++++++-
 test/unit/swim_test_utils.h     |  30 ++++-
 10 files changed, 575 insertions(+), 126 deletions(-)

-- 
2.17.2 (Apple Git-113)

             reply	other threads:[~2019-04-09 11:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-09 11:46 Vladislav Shpilevoy [this message]
2019-04-09 11:46 ` [tarantool-patches] [PATCH v2 1/6] swim: encapsulate member bin info into a 'passport' Vladislav Shpilevoy
2019-04-09 11:46 ` [tarantool-patches] [PATCH v2 2/6] swim: make members array decoder be a separate function Vladislav Shpilevoy
2019-04-09 11:46 ` [tarantool-patches] [PATCH v2 3/6] test: rename some swim test methods and macros Vladislav Shpilevoy
2019-04-09 11:46 ` [tarantool-patches] [PATCH v2 4/6] test: speed up swim big cluster failure detection Vladislav Shpilevoy
2019-04-09 11:46 ` [tarantool-patches] [PATCH v2 5/6] test: set packet drop rate instead of flag in swim tests Vladislav Shpilevoy
2019-04-09 11:46 ` [tarantool-patches] [PATCH v2 6/6] swim: introduce dissemination component Vladislav Shpilevoy
2019-04-09 13:47   ` [tarantool-patches] " Konstantin Osipov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1554809200.git.v.shpilevoy@tarantool.org \
    --to=v.shpilevoy@tarantool.org \
    --cc=kostja@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --subject='Re: [tarantool-patches] [PATCH v2 0/6] swim dissemination' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox