[tarantool-patches] [PATCH] [replication] introduce anonymous replicas.
vdavydov.dev at gmail.com
Mon Oct 15 11:26:03 MSK 2018
On Sat, Oct 13, 2018 at 07:54:49PM +0300, Serge Petrenko wrote:
> This patch makes it possible for a replica to join/subscribe
> anonymously, i.e. without being added to the _cluster table.
> This allows to have more than VCLOCK_MAX (currently 32) replicas in a
> replicaset, with a condition that some of them must be read only.
> This is achieved by introducing a new field to JOIN/SUBSCRIBE
> requests: IPROTO_REPLICA_ANON. Upon recieving a request with the option
> set to true, master adds the newly connected replica to a replica hash,
> but does not register it in _cluster table and does not assign an id to
> it. The replica still appears in `box.info.replication` with
> 'anonymous` parameter set to true.
> To make replica send 'anonymous' JOIN/SUBSCRIBE requests, a new config
> option is introduced: `replica_anon`. It may only be set to true
> together with `read_only`.
> Closes #3186
IMO the feature design hasn't been elaborated so it's too early to look
at the code. Pending questions:
- What's the use case? What would one need an anonymous replica for?
Can I turn it into a normal replica? Master? Read-write? What happens
if I try?
- How does the feature interact with replica-local spaces, which bypass
- Are anonymous replicas registered with the garbage collector on the
master? If yes, can we unregister them? Normal replicas can be
dropped by removing the corresponding entry from _cluster space. With
anonymous replica it's impossible by design.
More information about the Tarantool-patches