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

Brandon Williams commented on CASSANDRA-4311:
---------------------------------------------

This looks like a good solution so far.

bq. When version changes, we need to drop existing connections and reconnect

Let me take this opportunity to suggest that set/getVersion be moved out of 
Gossiper (which does nothing but expose a Map) and into MS.
                
> 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
>             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

        

Reply via email to