cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ron Kuris (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-8768) Using a Cassandra 2.0 seed doesn't allow a new Cassandra 2.1 node to bootstrap
Date Mon, 09 Feb 2015 19:10:36 GMT

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

Mime
View raw message