cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcus Eriksson (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-11696) Incremental repairs can mark too many ranges as repaired
Date Tue, 31 May 2016 15:18:12 GMT

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

Mime
View raw message