[ https://issues.apache.org/jira/browse/CASSANDRA-11696?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcus Eriksson updated CASSANDRA-11696: ---------------------------------------- Fix Version/s: 3.x 3.0.x 2.2.x 2.1.x Status: Patch Available (was: Open) branches are below, I will go over them again tomorrow and add a few tests and comments. Patch for 2.1 is very different from the ones for 2.2+ due to the fact that we support incremental repair with snapshot ({{-seq}}) repairs there ||branch||testall||dtest|| |[marcuse/11696|https://github.com/krummas/cassandra/tree/marcuse/11696]|[testall|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-11696-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-11696-dtest]| |[marcuse/11696-2.2|https://github.com/krummas/cassandra/tree/marcuse/11696-2.2]|[testall|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-11696-2.2-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-11696-2.2-dtest]| |[marcuse/11696-3.0|https://github.com/krummas/cassandra/tree/marcuse/11696-3.0]|[testall|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-11696-3.0-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-11696-3.0-dtest]| |[marcuse/11696-3.7|https://github.com/krummas/cassandra/tree/marcuse/11696-3.7]|[testall|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-11696-3.7-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-11696-3.7-dtest]| |[marcuse/11696-trunk|https://github.com/krummas/cassandra/tree/marcuse/11696-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-11696-trunk-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/krummas/job/krummas-marcuse-11696-trunk-dtest]| for 2.1 it marks sstables as repairing once, when the first validation request is received. For 2.2+ we do the same as in 2.1 for normal non-snapshot repairs and for snapshot repairs we make sure we only snapshot once, and then reuse that snapshot during the repair. We also need to do anticompaction on the 'real' sstables, not the snapshotted ones, so when it is time for anticompaction the snapshotted sstables are 'translated' into real sstables (for the ones that still exist) a dtest update is pushed [here|https://github.com/krummas/cassandra-dtest/commits/marcuse/11696] - it makes sure we run all incremental repair tests both with {{-seq}} and without. > Incremental repairs can mark too many ranges as repaired > -------------------------------------------------------- > > Key: CASSANDRA-11696 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11696 > Project: Cassandra > Issue Type: Bug > Reporter: Joel Knighton > Assignee: Marcus Eriksson > Priority: Critical > Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x > > > Incremental repairs are tracked using a parent session - a subordinate repair > session is created for each range in the repair. When a node participating in > the repair receives a validation request, it will reference the sstables in > the parent repair session. When all subordinate sessions conclude, each node > anticompacts SSTables based on the parent repair session for the whole range > of the repair, but these referenced SSTables may have only been present for > the validation of some subset of the ranges because the SSTables were created > concurrent with the parent repair session. -- This message was sent by Atlassian JIRA (v6.3.4#6332)