cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yuki Morishita (JIRA)" <>
Subject [jira] [Reopened] (CASSANDRA-6566) Differencer should not run in AntiEntropy Stage
Date Fri, 28 Feb 2014 03:29:19 GMT


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:
>             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

View raw message