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