You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Brandon Williams (JIRA)" <ji...@apache.org> on 2012/06/07 19:51:23 UTC

[jira] [Comment Edited] (CASSANDRA-4311) clean up messagingservice protocol limitations

    [ https://issues.apache.org/jira/browse/CASSANDRA-4311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13291160#comment-13291160 ] 

Brandon Williams edited comment on CASSANDRA-4311 at 6/7/12 5:50 PM:
---------------------------------------------------------------------

MS.setVersion needs a minor fix to prevent NPE:

{noformat}
     public Integer setVersion(InetAddress address, int version)
     {
         logger.debug("Setting version {} for {}", version, address);
         Integer v = versions.put(address, version);
         return v == null ? version : v;
     }
{noformat}

+1 otherwise.
                
      was (Author: brandon.williams):
    MS.setVersion needs a minor fix to prevent NPE:

{noformat}
     public Integer setVersion(InetAddress address, int version)
     {
         logger.debug("Setting version {} for {}", version, address);
         return versions.put(address, version);
         Integer v = versions.put(address, version);
         return v == null ? version : v;
     }
{noformat}

+1 otherwise.
                  
> clean up messagingservice protocol limitations
> ----------------------------------------------
>
>                 Key: CASSANDRA-4311
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4311
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>              Labels: jmx
>             Fix For: 1.2
>
>         Attachments: 4311-skeleton.txt
>
>
> Weaknesses of the existing protocol:
> - information asymmetry: node A can know what version node B expects, but not vice versa (see CASSANDRA-4101)
> - delayed information: node A will often not know what version node B expects, until after first contacting node B -- forcing it to throw that first message away and retry for the next one
> - protocol cannot handle both cross-dc forwarding and broadcast_address != socket address (see bottom of CASSANDRA-4099)
> - version is partly global, partly per-connection, and partly per-message, resulting in some interesting hacks (CASSANDRA-3166) and difficulty layering more sophisticated OutputStreams on the socket (CASSANDRA-3127, CASSANDRA-4139)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira