You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jeremiah Jordan (JIRA)" <ji...@apache.org> on 2013/03/27 19:03:17 UTC

[jira] [Updated] (CASSANDRA-5393) Add an Ack/Retry for merkle tree sending

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

Jeremiah Jordan updated CASSANDRA-5393:
---------------------------------------

    Description: 
Can we add an Ack/Retry around passing merle tree's around in repair?  If the following fails, the repair hangs for ever on the coordinating node.

https://github.com/apache/cassandra/blob/cassandra-1.1.10/src/java/org/apache/cassandra/service/AntiEntropyService.java#L242

{noformat}
            Message message = TreeResponseVerbHandler.makeVerb(local, validator);
            if (!validator.request.endpoint.equals(FBUtilities.getBroadcastAddress()))
                logger.info(String.format("[repair #%s] Sending completed merkle tree to %s for %s", validator.request.sessionid, validator.request.endpoint, validator.request.cf));
            ms.sendOneWay(message, validator.request.endpoint);
{noformat}

If the message asking for merkle tree's gets lost, coordinating node hangs for ever as well.

  was:
Can we add an Ack/Retry around passing merle tree's around in repair?  If the following fails, the repair hangs for ever on the coordinating node.

https://github.com/apache/cassandra/blob/cassandra-1.1.10/src/java/org/apache/cassandra/service/AntiEntropyService.java#L242

{noformat}
            Message message = TreeResponseVerbHandler.makeVerb(local, validator);
            if (!validator.request.endpoint.equals(FBUtilities.getBroadcastAddress()))
                logger.info(String.format("[repair #%s] Sending completed merkle tree to %s for %s", validator.request.sessionid, validator.request.endpoint, validator.request.cf));
            ms.sendOneWay(message, validator.request.endpoint);
{noformat}

    
> Add an Ack/Retry for merkle tree sending
> ----------------------------------------
>
>                 Key: CASSANDRA-5393
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5393
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Jeremiah Jordan
>
> Can we add an Ack/Retry around passing merle tree's around in repair?  If the following fails, the repair hangs for ever on the coordinating node.
> https://github.com/apache/cassandra/blob/cassandra-1.1.10/src/java/org/apache/cassandra/service/AntiEntropyService.java#L242
> {noformat}
>             Message message = TreeResponseVerbHandler.makeVerb(local, validator);
>             if (!validator.request.endpoint.equals(FBUtilities.getBroadcastAddress()))
>                 logger.info(String.format("[repair #%s] Sending completed merkle tree to %s for %s", validator.request.sessionid, validator.request.endpoint, validator.request.cf));
>             ms.sendOneWay(message, validator.request.endpoint);
> {noformat}
> If the message asking for merkle tree's gets lost, coordinating node hangs for ever as well.

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