From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
To: tarantool-patches@freelists.org
Cc: kostja@tarantool.org
Subject: [tarantool-patches] Re: [PATCH 1/1] swim: introduce SWIM's anti-entropy component
Date: Thu, 7 Mar 2019 00:24:11 +0300 [thread overview]
Message-ID: <ca4dcf39-2060-8477-fc2d-6eb554b3c51a@tarantool.org> (raw)
In-Reply-To: <5deb15eab37345ba1abc8772a4c78308d8e8f9c1.1551884926.git.v.shpilevoy@tarantool.org>
Sorry again - ignore the whole email. I've found a bug
which required drastic changes in the event loop
implementation.
I've sent a new version as v2.
On 06/03/2019 18:13, Vladislav Shpilevoy wrote:
> SWIM - Scalable Weakly-consistent Infection-style Process Group
> Membership Protocol. It consists of 2 components: events
> dissemination and failure detection, and stores in memory a
> table of known remote hosts - members. Also some SWIM
> implementations have an additional component: anti-entropy -
> periodical broadcast of a random subset of members table.
>
> Dissemination component spreads over the cluster changes occurred
> with members. Failure detection constantly searches for failed
> dead members. Anti-entropy just sends all known information at
> once about a member so as to synchronize it among all other
> members in case some events were not disseminated (UDP problems).
>
> Anti-entropy is the most vital component, since it can work
> without dissemination and failure detection. But they can not
> work properly with out the former. Consider the example: two SWIM
> nodes, both are alive. Nothing happens, so the events list is
> empty, only pings are being sent periodically. Then a third
> node appears. It knows about one of existing nodes. How should
> it learn about another one? Sure, its known counterpart can try
> to notify another one, but it is UDP, so this event can get lost.
> Anti-entropy is an extra simple component, it just piggybacks
> random part of members table with each regular round message.
> In the example above the new node will learn about the third
> one via anti-entropy messages of the second one soon or late.
>
> This is why anti-entropy is the first implemented component.
>
> Part of #3234
> ---
> Branch: https://github.com/tarantool/tarantool/tree/gerold103/gh-3234-swim-anti-entropy
>
next prev parent reply other threads:[~2019-03-06 21:24 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-06 15:13 [tarantool-patches] " Vladislav Shpilevoy
2019-03-06 15:16 ` [tarantool-patches] " Vladislav Shpilevoy
2019-03-06 21:24 ` Vladislav Shpilevoy [this message]
2019-03-07 10:27 ` Konstantin Osipov
2019-03-07 12:33 ` Vladislav Shpilevoy
2019-03-07 13:20 ` Konstantin Osipov
2019-03-07 13:54 ` Vladislav Shpilevoy
2019-03-07 10:22 ` Konstantin Osipov
2019-03-07 12:33 ` 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=ca4dcf39-2060-8477-fc2d-6eb554b3c51a@tarantool.org \
--to=v.shpilevoy@tarantool.org \
--cc=kostja@tarantool.org \
--cc=tarantool-patches@freelists.org \
--subject='[tarantool-patches] Re: [PATCH 1/1] swim: introduce SWIM'\''s anti-entropy 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