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

Ron Kuris commented on CASSANDRA-8768:
--------------------------------------

The problem is that the code bails out early when the connected-to version is 
lower than the default. From org.apache.cassandra.net.OutboundTcpConnection:
{code}367                if (targetVersion > maxTargetVersion)
368                {
369                    logger.debug("Target max version is {}; will reconnect 
with that version", maxTargetVersion);
370                    disconnect();
371                    return false;
372                }
{code}
When you return false from the private method connect() and disconnect (which 
sets socket to null), the caller assumes this node is not usable in any way:
{code}164                    else if (socket != null || connect())
165                        writeConnected(qm, count == 1 && backlog.size() == 
0);
166                    else{code}
I think the correct fix is to change line 371 to 'continue'. When I do this, I 
am able to connect to the cluster.

> Using a Cassandra 2.0 seed doesn't allow a new Cassandra 2.1 node to bootstrap
> ------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-8768
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8768
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Ron Kuris
>
> If you spin up a Cassandra 2.0 cluster with some seeds, and then attempt to 
> attach a Cassandra 2.1 node to it, you get the following message:
> {code}OutboundTcpConnection.java:429 - Handshaking version with 
> /10.24.0.10{code}
> Turning on debug, you get a few additional messages:
> {code}DEBUG [WRITE-/(ip)] MessagingService.java:789 - Setting version 7 for 
> /10.24.0.10
> DEBUG [WRITE-/(ip)] OutboundTcpConnection.java:369 - Target max version is 7; 
> will reconnect with that version{code}
> However, the code never reconnects. See the comments as to why.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to