You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2020/05/15 14:35:19 UTC

[cassandra] branch trunk updated: Ninja-follow-up to CASSANDRA-15727 (move code slightly)

This is an automated email from the ASF dual-hosted git repository.

aleksey pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 17caa28  Ninja-follow-up to CASSANDRA-15727 (move code slightly)
17caa28 is described below

commit 17caa288c311e0364f81f78a85831c36f0f4917e
Author: Aleksey Yeshchenko <al...@apache.org>
AuthorDate: Fri May 15 15:34:35 2020 +0100

    Ninja-follow-up to CASSANDRA-15727 (move code slightly)
---
 .../apache/cassandra/net/OutboundConnection.java   | 36 ++++++++++------------
 1 file changed, 17 insertions(+), 19 deletions(-)

diff --git a/src/java/org/apache/cassandra/net/OutboundConnection.java b/src/java/org/apache/cassandra/net/OutboundConnection.java
index 315d086..d7ebcd8 100644
--- a/src/java/org/apache/cassandra/net/OutboundConnection.java
+++ b/src/java/org/apache/cassandra/net/OutboundConnection.java
@@ -1084,25 +1084,7 @@ public class OutboundConnection
                 if (hasPending())
                 {
                     Promise<Result<MessagingSuccess>> result = new AsyncPromise<>(eventLoop);
-                    state = new Connecting(state.disconnected(),
-                                           result,
-                                           eventLoop.schedule(() ->
-                                           {
-                                               // Re-evaluate messagingVersion before re-attempting the connection in case
-                                               // endpointToVersion were updated. This happens if the outbound connection
-                                               // is made before the endpointToVersion table is initially constructed or out
-                                               // of date (e.g. if outbound connections are established for gossip
-                                               // as a result of an inbound connection) and can result in the wrong outbound
-                                               // port being selected if configured with enable_legacy_ssl_storage_port=true.
-                                               int maybeUpdatedVersion = template.endpointToVersion().get(template.to);
-                                               if (maybeUpdatedVersion != messagingVersion)
-                                               {
-                                                   logger.trace("Endpoint version changed from {} to {} since connection initialized, updating.",
-                                                                messagingVersion, maybeUpdatedVersion);
-                                                   messagingVersion = maybeUpdatedVersion;
-                                               }
-                                               attempt(result);
-                                           }, max(100, retryRateMillis), MILLISECONDS));
+                    state = new Connecting(state.disconnected(), result, eventLoop.schedule(() -> attempt(result), max(100, retryRateMillis), MILLISECONDS));
                     retryRateMillis = min(1000, retryRateMillis * 2);
                 }
                 else
@@ -1194,6 +1176,22 @@ public class OutboundConnection
             {
                 ++connectionAttempts;
 
+                /*
+                 * Re-evaluate messagingVersion before re-attempting the connection in case
+                 * endpointToVersion were updated. This happens if the outbound connection
+                 * is made before the endpointToVersion table is initially constructed or out
+                 * of date (e.g. if outbound connections are established for gossip
+                 * as a result of an inbound connection) and can result in the wrong outbound
+                 * port being selected if configured with enable_legacy_ssl_storage_port=true.
+                 */
+                int knownMessagingVersion = messagingVersion();
+                if (knownMessagingVersion != messagingVersion)
+                {
+                    logger.trace("Endpoint version changed from {} to {} since connection initialized, updating.",
+                                 messagingVersion, knownMessagingVersion);
+                    messagingVersion = knownMessagingVersion;
+                }
+
                 settings = template;
                 if (messagingVersion > settings.acceptVersions.max)
                     messagingVersion = settings.acceptVersions.max;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org