Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Code - Bug - Unclear Impact
-
Normal
-
Normal
-
User Report
-
All
-
None
-
Description
After node is decommissioned, it is still considered for gossip via “unreachable” nodes, which results into following exceptions:
INFO [node4_Messaging-EventLoop-3-3] node4 2020-09-29 16:37:37,527 NoSpamLogger.java:91 - /127.0.0.4:7012->/127.0.0.1:7012-URGENT_MESSAGES-[no-channel] failed to connect io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: /127.0.0.1:7012 Caused by: java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:330) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:702) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:748)
Trace of the method that attempts to establish connection:
org.apache.cassandra.net.MessagingService.getOutbound(MessagingService.java:492) at org.apache.cassandra.net.MessagingService.doSend(MessagingService.java:335) at org.apache.cassandra.net.OutboundSink$Filtered.accept(OutboundSink.java:55) at org.apache.cassandra.net.OutboundSink.accept(OutboundSink.java:70) at org.apache.cassandra.net.MessagingService.send(MessagingService.java:327) at org.apache.cassandra.net.MessagingService.send(MessagingService.java:314) at org.apache.cassandra.gms.Gossiper.sendGossip(Gossiper.java:813) at org.apache.cassandra.gms.Gossiper.maybeGossipToUnreachableMember(Gossiper.java:840) at org.apache.cassandra.gms.Gossiper.access$400(Gossiper.java:86)
LEFT and other nodes that are considered dead should not be picked for gossip with unreachable nodes.
Attachments
Issue Links
- requires
-
CASSANDRA-15935 Improve machinery for testing consistency in presence of range movements
- Resolved