[
https://issues.apache.org/jira/browse/CASSANDRA-21098?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aparna Naik updated CASSANDRA-21098:
------------------------------------
Description:
Incremental repair should block until all writes issued before the repair start
are fully replicated. Although mutation tracking propagates this
asynchronously, we need a mechanism to wait for completion.
In this ticket we build a SyncMechanism that would be collecting mutation
offsets from all replicas for relevant shards, compute their union and wait
until all these replicas report having received them. The repair command will
be extended to support this for keyspaces using mutation tracking. During shard
migrations in either direction, incremental repair should perform both
mutation-tracking and data repairs.
was:
Incremental repair syncs all data written before the point the repair was
started across all replicas. Although this process is baked into mutation
tracking as an async process, we do need a facility for blocking on the full
replication of all writes before some point in time.
We need a process that collects offsets from all nodes replicating shards in a
given range, calculates a union of the offsets, and then waits for all replicas
involved in the repair to signal that they've received them. This can likely be
achieved by just listening to the offset broadcasting mechanism.
This then also needs to be wired into the repair command so that an incremental
repair against a keyspace using mutation tracking .
One detail here is migration handling. For migration in both directions,
incremental repair should perform both a mutation tracking incremental repair
as well as a data repair.
> CEP-45: Incremental repair for mutation tracking
> ------------------------------------------------
>
> Key: CASSANDRA-21098
> URL: https://issues.apache.org/jira/browse/CASSANDRA-21098
> Project: Apache Cassandra
> Issue Type: Improvement
> Components: Consistency/Repair
> Reporter: Blake Eggleston
> Assignee: Aparna Naik
> Priority: Normal
>
> Incremental repair should block until all writes issued before the repair
> start are fully replicated. Although mutation tracking propagates this
> asynchronously, we need a mechanism to wait for completion.
> In this ticket we build a SyncMechanism that would be collecting mutation
> offsets from all replicas for relevant shards, compute their union and wait
> until all these replicas report having received them. The repair command will
> be extended to support this for keyspaces using mutation tracking. During
> shard migrations in either direction, incremental repair should perform both
> mutation-tracking and data repairs.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]