[
https://issues.apache.org/jira/browse/CASSANDRA-14740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sam Tunnicliffe updated CASSANDRA-14740:
----------------------------------------
Status: Changes Suggested (was: Review In Progress)
This is nice. As well as addressing the bug, using a {{ReplicaPlan}} for the
writes really clarifies {{BlockingPartitionRepair}} & {{BlockingReadRepair}}.
There's a copy/paste bug in {{RowIteratorMergeListener::applyToPartition}} in
the {{buildFullDiff}} branch, where it should be setting
{{repairs[repairs.length - 1]}}. This is causing the new
{{movingTokenReadRepairTest}} failure, but locally at least, it doesn't affect
the other tests in that fixture so I'm not sure what's going on in CircleCI.
The patch also needs a rebase, but it doesn't look too onerous.
Nits:
* {{BlockingReadRepair}} #54: extraneous comment
* {{ReadRepairTest}} #199: formatting
* {{RowIteratorMergeListener}}: unused import
* I find the style of having the conditions and statements for an {{if/else}}
on the same line ({{RowIteratorMergeListener}} #373) makes them harder to
parse. This is clearly rather subjective though and maybe just because it's not
followed more universally in the project - feel free to ignore.
> BlockingReadRepair does not maintain monotonicity during range movements
> ------------------------------------------------------------------------
>
> Key: CASSANDRA-14740
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14740
> Project: Cassandra
> Issue Type: Bug
> Components: Legacy/Coordination
> Reporter: Benedict Elliott Smith
> Assignee: Benedict Elliott Smith
> Priority: Urgent
> Labels: correctness
> Fix For: 4.0, 4.0-beta
>
>
> The BlockingReadRepair code introduced by CASSANDRA-10726 requires that each
> of the queried nodes are written to, but pending nodes are not considered.
> If there is a pending range movement, one of these writes may be ‘lost’ when
> the range movement completes.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]