From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> To: tarantool-patches@freelists.org Cc: kostja@tarantool.org Subject: [tarantool-patches] [PATCH 0/5] swim dissemination component Date: Fri, 5 Apr 2019 14:57:26 +0300 [thread overview] Message-ID: <cover.1554465150.git.v.shpilevoy@tarantool.org> (raw) 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)
next reply other threads:[~2019-04-05 11:57 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-05 11:57 Vladislav Shpilevoy [this message] 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
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.1554465150.git.v.shpilevoy@tarantool.org \ --to=v.shpilevoy@tarantool.org \ --cc=kostja@tarantool.org \ --cc=tarantool-patches@freelists.org \ --subject='Re: [tarantool-patches] [PATCH 0/5] swim dissemination component' \ /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