Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH 0/5] swim dissemination component
@ 2019-04-05 11:57 Vladislav Shpilevoy
  2019-04-05 11:57 ` [tarantool-patches] [PATCH 1/5] swim: encapsulate member bin info into a 'passport' Vladislav Shpilevoy
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Vladislav Shpilevoy @ 2019-04-05 11:57 UTC (permalink / raw)
  To: tarantool-patches; +Cc: kostja

The patchset consists again of some follow-ups to the previous commits; of
preparatory patches for dissemination to make the code more reusable and the
tests faster; and finally the dissemination component is introduced.

I do not duplicate here the component description, it is quite comprehensive
in the commit message and comments. The only noticable 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.

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

Vladislav Shpilevoy (5):
  swim: encapsulate member bin info into a 'passport'
  swim: make members array decoder be a separate function
  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             | 174 ++++++++++++++++++++++++++++++--
 src/lib/swim/swim.h             |   4 +
 src/lib/swim/swim_proto.c       |  72 ++++++++++---
 src/lib/swim/swim_proto.h       |  82 +++++++++++++--
 test/unit/swim.c                | 108 ++++++++++++++------
 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     |  59 ++++++++++-
 test/unit/swim_test_utils.h     |  22 +++-
 10 files changed, 501 insertions(+), 83 deletions(-)

-- 
2.17.2 (Apple Git-113)

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-04-09 12:25 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-05 11:57 [tarantool-patches] [PATCH 0/5] swim dissemination component Vladislav Shpilevoy
2019-04-05 11:57 ` [tarantool-patches] [PATCH 1/5] swim: encapsulate member bin info into a 'passport' Vladislav Shpilevoy
2019-04-05 11:57 ` [tarantool-patches] [PATCH 2/5] swim: make members array decoder be a separate function Vladislav Shpilevoy
2019-04-05 11:57 ` [tarantool-patches] [PATCH 3/5] test: speed up swim big cluster failure detection Vladislav Shpilevoy
2019-04-09  8:43   ` [tarantool-patches] " Konstantin Osipov
2019-04-09 11:47     ` Vladislav Shpilevoy
2019-04-05 11:57 ` [tarantool-patches] [PATCH 4/5] test: set packet drop rate instead of flag in swim tests Vladislav Shpilevoy
2019-04-05 11:57 ` [tarantool-patches] [PATCH 5/5] swim: introduce dissemination component Vladislav Shpilevoy
2019-04-08 20:13   ` [tarantool-patches] " Vladislav Shpilevoy
2019-04-09  9:58     ` Konstantin Osipov
2019-04-09 11:47       ` Vladislav Shpilevoy
2019-04-09 12:25 ` [tarantool-patches] Re: [PATCH 0/5] swim " Vladislav Shpilevoy

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