This is an automated email from the ASF dual-hosted git repository.
brandonwilliams pushed a commit to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/cassandra-3.11 by this push:
new edf22ed776 Revert 18543 but retain properties
edf22ed776 is described below
commit edf22ed776d36112c165c6858dd4866b754ecf34
Author: Brandon Williams <[email protected]>
AuthorDate: Fri Sep 15 06:08:13 2023 -0500
Revert 18543 but retain properties
Patch by brandonwilliams; reviewed by dcapwell for CASSANDRA-18854
---
CHANGES.txt | 1 +
src/java/org/apache/cassandra/gms/Gossiper.java | 38 +++----------------------
2 files changed, 5 insertions(+), 34 deletions(-)
diff --git a/CHANGES.txt b/CHANGES.txt
index d5eb1048dc..2d9e2059e1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
3.11.17
+ * Revert CASSANDRA-18543 (CASSANDRA-18854)
* Fix NPE when using udfContext in UDF after a restart of a node
(CASSANDRA-18739)
Merged from 3.0:
* Add cqlshrc.sample and credentials.sample into Debian package
(CASSANDRA-18818)
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java
b/src/java/org/apache/cassandra/gms/Gossiper.java
index ac35aa8642..b3783cd5b5 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -39,8 +39,6 @@ import com.google.common.util.concurrent.ListenableFutureTask;
import com.google.common.util.concurrent.Uninterruptibles;
import io.netty.util.concurrent.FastThreadLocal;
-import org.apache.cassandra.exceptions.RequestFailureReason;
-import org.apache.cassandra.net.IAsyncCallbackWithFailure;
import org.apache.cassandra.utils.ExecutorUtils;
import org.apache.cassandra.utils.MBeanWrapper;
import org.apache.cassandra.utils.NoSpamLogger;
@@ -137,9 +135,6 @@ public class Gossiper implements
IFailureDetectionEventListener, GossiperMBean
/* live member set */
private final Set<InetAddress> liveEndpoints = new
ConcurrentSkipListSet<InetAddress>(inetcomparator);
- /* Inflight echo requests. */
- private final Set<InetAddress> inflightEcho = new
ConcurrentSkipListSet<>(inetcomparator);
-
/* unreachable member set */
private final Map<InetAddress, Long> unreachableEndpoints = new
ConcurrentHashMap<InetAddress, Long>();
@@ -534,7 +529,6 @@ public class Gossiper implements
IFailureDetectionEventListener, GossiperMBean
}
liveEndpoints.remove(endpoint);
- inflightEcho.remove(endpoint);
unreachableEndpoints.remove(endpoint);
MessagingService.instance().resetVersion(endpoint);
quarantineEndpoint(endpoint);
@@ -1132,23 +1126,12 @@ public class Gossiper implements
IFailureDetectionEventListener, GossiperMBean
return;
}
- if (inflightEcho.contains(addr))
- {
- return;
- }
- inflightEcho.add(addr);
-
localState.markDead();
MessageOut<EchoMessage> echoMessage = new
MessageOut<EchoMessage>(MessagingService.Verb.ECHO, EchoMessage.instance,
EchoMessage.serializer);
logger.trace("Sending a EchoMessage to {}", addr);
- IAsyncCallbackWithFailure echoHandler = new IAsyncCallbackWithFailure()
+ IAsyncCallback echoHandler = new IAsyncCallback()
{
- public void onFailure(InetAddress from, RequestFailureReason
failureReason)
- {
- inflightEcho.remove(addr);
- }
-
public boolean isLatencyForSnitch()
{
return false;
@@ -1156,20 +1139,11 @@ public class Gossiper implements
IFailureDetectionEventListener, GossiperMBean
public void response(MessageIn msg)
{
- runInGossipStageBlocking(() -> {
- try
- {
- realMarkAlive(addr, localState);
- }
- finally
- {
- inflightEcho.remove(addr);
- }
- });
+ runInGossipStageBlocking(() -> realMarkAlive(addr,
localState));
}
};
- MessagingService.instance().sendRRWithFailure(echoMessage, addr,
echoHandler);
+ MessagingService.instance().sendRR(echoMessage, addr, echoHandler);
}
@VisibleForTesting
@@ -1199,7 +1173,6 @@ public class Gossiper implements
IFailureDetectionEventListener, GossiperMBean
logger.trace("marking as down {}", addr);
localState.markDead();
liveEndpoints.remove(addr);
- inflightEcho.remove(addr);
unreachableEndpoints.put(addr, System.nanoTime());
logger.info("InetAddress {} is now DOWN", addr);
for (IEndpointStateChangeSubscriber subscriber : subscribers)
@@ -1898,14 +1871,12 @@ public class Gossiper implements
IFailureDetectionEventListener, GossiperMBean
int totalPolls = 0;
int numOkay = 0;
int epSize = Gossiper.instance.getEndpointStates().size();
- int liveSize = Gossiper.instance.getLiveMembers().size();
while (numOkay < GOSSIP_SETTLE_POLL_SUCCESSES_REQUIRED)
{
Uninterruptibles.sleepUninterruptibly(GOSSIP_SETTLE_POLL_INTERVAL_MS,
TimeUnit.MILLISECONDS);
int currentSize = Gossiper.instance.getEndpointStates().size();
- int currentLive = Gossiper.instance.getLiveMembers().size();
totalPolls++;
- if (currentSize == epSize && currentLive == liveSize)
+ if (currentSize == epSize)
{
logger.debug("Gossip looks settled.");
numOkay++;
@@ -1916,7 +1887,6 @@ public class Gossiper implements
IFailureDetectionEventListener, GossiperMBean
numOkay = 0;
}
epSize = currentSize;
- liveSize = currentLive;
if (forceAfter > 0 && totalPolls > forceAfter)
{
logger.warn("Gossip not settled but startup forced by
cassandra.skip_wait_for_gossip_to_settle. Gossip total polls: {}",
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]