Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
Correctness
-
Normal
-
Normal
-
User Report
-
All
-
None
-
Description
This bug only happens when the cassandra nodes are configured to use a single network interface (ip) but different ports. See CASSANDRA-7544.
Issue: The topology events aren't sent to clients. The problem is that the port is not taken into account when determining if we send it or not:
https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/transport/Server.java#L624
To reproduce:
# I think the cassandra-test branch is required to get the -S option (USE_SINGLE_INTERFACE) ccm create -n4 local40 -v 4.0-alpha2 -S
Then run this small python driver script:
import time from cassandra.cluster import Cluster cluster = Cluster() session = cluster.connect() while True: print(cluster.metadata.all_hosts()) print([h.is_up for h in cluster.metadata.all_hosts()]) time.sleep(5)
Then decommission a node:
ccm node2 nodetool disablebinary ccm node2 nodetool decommission
You should see that the node is never removed from the client cluster metadata and the reconnector started.
Attachments
Issue Links
- causes
-
CASSANDRA-16234 Update NetBeans project file for dependency changes since 11th Feb 2020
- Resolved
- is duplicated by
-
CASSANDRA-15886 pushed_notifications_test.TestPushedNotifications.test_restart_node_localhost failure
- Resolved
- is related to
-
CASSANDRA-15912 Occasional NEW_NODE event sent instead of NODE_UP in dTest
- Resolved
- links to