[ 
https://issues.apache.org/jira/browse/CASSANDRA-6011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yuki Morishita updated CASSANDRA-6011:
--------------------------------------

    Attachment: 6011-1.2.txt

Patch attached to clear snapshot only for validated CF, not entire keyspace.
                
> Race condition in snapshot repair
> ---------------------------------
>
>                 Key: CASSANDRA-6011
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6011
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Nick Bailey
>            Assignee: Yuki Morishita
>             Fix For: 1.2.10, 2.0.1
>
>         Attachments: 6011-1.2.txt
>
>
> When we do a snapshot/sequential repair, we use the repair session id as the 
> snapshot name. Unfortunately in Directories.java when we delete a snapshot, 
> we delete it for all column families, even when called on a specific cf store.
> So what can happen is this:
> Node B finishes validation compaction for CF1 and Notifies Node A
> Node B *starts* to delete snapshot for CF1
> Node A finishes repair of CF1 and starts repair of CF2
> Node B takes snapshot of CF2 and starts validation compaction, but the 
> previous validation compaction is still deleting snapshots, so the snapshot 
> it wants to run a validation on gets deleted out from under it.
> I've only reproduced on 1.2.6, but looking at the code this definitely looks 
> like it exists in 1.2 HEAD. Not positive about 2.0.
> I think the fix is just to update Directories.java to not delete the snapshot 
> from all column families.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to