You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Yuki Morishita (JIRA)" <ji...@apache.org> on 2014/02/28 04:29:19 UTC

[jira] [Reopened] (CASSANDRA-6566) Differencer should not run in AntiEntropy Stage

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

Yuki Morishita reopened CASSANDRA-6566:
---------------------------------------


Reopening for this for thread safety of differencers. I thought it is guarded in synchronized block but we also needed to guard when adding.

Thinking about this more, since we no longer use RequestCoordinator for differencers anymore, I think we don't have to use Set to keep each Differencer object.

Attaching patch (6566-followup.txt) will use AtomicInteger to count down synced nodes instead.

[~kohlisankalp] Could you review the follow up patch also?

> Differencer should not run in AntiEntropy Stage
> -----------------------------------------------
>
>                 Key: CASSANDRA-6566
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6566
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: sankalp kohli
>            Assignee: Yuki Morishita
>            Priority: Minor
>             Fix For: 2.0.6
>
>         Attachments: 6566-2.0-v2.txt, 6566-2.0-v3.txt, 6566-2.0.txt, 6566-followup.txt
>
>
> The Differencing currently runs in AntiEntropy stage. When there are lot of ranges which do not match, it takes sometime to compute the diff in ranges. Also with increase in Merkle tree height it will take even more time in case of large diffs. 
> This causes other things to get blocked behind this. 
> Also no other repair messages can be processed.  
> Example: If a node is doing differencing for a repair, and Validation compaction is done for another repair, it needs to block to send the tree over till Differencing is done.  



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)