Ariel Weisberg created CASSANDRA-14409:
------------------------------------------
Summary: Transient Replication: Support ring changes when
transient replication is in use (add/remove node, change RF, add/remove DC)
Key: CASSANDRA-14409
URL: https://issues.apache.org/jira/browse/CASSANDRA-14409
Project: Cassandra
Issue Type: Sub-task
Components: Coordination, Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
Fix For: 4.0
The additional state transitions that transient replication introduces require
streaming and nodetool cleanup to behave differently. We already have code that
does the streaming, but in some cases we shouldn't stream any data and in
others when we stream to receive data we have to make sure we stream from a
full replica and not a transient replica.
Transitioning from not replicated to transiently replicated means that a node
must stay pending until the next incremental repair completes at which point
the data for that range is known to be available at full replicas.
Transitioning from transiently replicated to fully replicated requires
streaming from a full replica and is identical to how we stream from not
replicated to replicated. The transition must be managed so the transient
replica is not read from as a full replica until streaming completes. It can be
used immediately for a write quorum.
Transitioning from fully replicated to transiently replicated requires cleanup
to remove repaired data from the transiently replicated range to reclaim space.
It can be used immediately for a write quorum.
Transitioning from transiently replicated to not replicated requires cleanup to
be run to remove the formerly transiently replicated data.
nodetool move, removenode, cleanup, decommission, need to handle these issues
as does bootstrap.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]