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

Jonathan Ellis commented on CASSANDRA-4311:
-------------------------------------------

I think we can address all of these by making these changes to VERSION_12 
protocol:

- send version and connection metadata just once per connection.  This will 
give the other side enough information to know whether to expect a compressed 
or varint stream
- *both* sides exchange CURRENT_VERSION when connection is established; each 
side will then have version information immediately upon contacting another node

As a consequence,
- When version changes, we need to drop existing connections and reconnect 
(already implied but not yet implemented by CASSANDRA-3127)
                
> 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
>             Fix For: 1.2
>
>
> 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