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

2014-02-27 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-6566:
--

Attachment: 6566-followup.txt

 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)


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

2014-02-17 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-6566:
--

Attachment: 6566-2.0-v3.txt

V3 attached. Rebased and removed empty RepairJob#terminate method.

I just leave the method name RepairSession#terminate  as is for now.

 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


 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)


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

2014-02-14 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-6566:
--

Attachment: 6566-2.0-v2.txt

Attaching v2.

bq. 1) private final SetDifferencer differencers = new HashSet();  This 
needs to be a concurrent set as it is updated from multiple threads.

differencers is guarded by synchronized method, as it was.
 
bq. 2) This will create a new thread pool per job. Not a big deal but can’t we 
do it per session?

Moved it to session. That way we can shutdown executors cleanly.

bq. 3) sendTreeRequestsInternal(endpoints); Should it not be allEndpoints?

Good catch! Fixed. (not the one in anonymous FutureCallback).

bq, Also before this change, I can see that we were sending snapshot command to 
only neighbours and not itself. Why is it like this?

I noticed it too and changed to send snapshot to the node itself. I think it is 
a mistake to not include itself by looking at original CASSANDRA-3721.

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


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

2014-02-13 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-6566:
--

Attachment: 6566-2.0.txt

(also: https://github.com/yukim/cassandra/tree/6566-1)

Two improvements in the patch:

* Remove snapshot latch so that snapshotting does not block ANTI_ENTROPY stage.
* Move differencers from ANTI_ENTROPY stage to different executor.



 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
Priority: Minor
 Attachments: 6566-2.0.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)


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

2014-02-13 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-6566:
--

Fix Version/s: 2.0.6
 Assignee: Yuki Morishita

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


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

2014-02-13 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis updated CASSANDRA-6566:
--

Reviewer: sankalp kohli

Can you review, [~kohlisankalp]?

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