[tarantool-patches] Re: [PATCH v3 6/6] [RAW] swim: introduce payload

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Tue Jan 15 17:42:06 MSK 2019



On 09/01/2019 16:58, Konstantin Osipov wrote:
> * Vladislav Shpilevoy <v.shpilevoy at tarantool.org> [18/12/29 15:07]:
> 
> If the payload is the same for all members, why keep a copy in
> each member?
> 

It is not the same. Payload is a mere attribute of member, just
like status, incarnation, ip, port. Each member can disseminate its
own payload, and once it is changed, other members learn it via
dissemination component and forward this event to other members.

It allows

1) do not block other members payload change, when another member
tries to change the global payload;

2) do not implement complex logic of payload changes merge,
when multiple members are modifying the payload;

3) atomic and granulated update of payloads. When one member
changes its payload, it is not necessary to disseminate payloads
of all other known members;

4) each member can have a payload of size up to packet size, while
in your proposal the global payload for *all* members will be limited
by this limit.

Your proposal is a global payload, but it turns the cluster into
a giant bus line, where while one member occupies the line, other
members can not neither put out their own arbitrary payload, nor
send an answer on the active payload without its modification or
removal.



More information about the Tarantool-patches mailing list