[ 
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]

Reply via email to