Details
-
Bug
-
Status: Resolved
-
Urgent
-
Resolution: Fixed
-
None
-
Critical
-
Clients
Description
Summary:
TOPOLOGY_CHANGE events that are recieved by the client(Driver), with C* 4.0 (Trunk). Contain the storage port (7000) rather than the native port (9042). I believe this is due to changes stuck in for CASSANDRA-7544.
I was able to track it down to this specific call here.
https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L1703
We need an accurate port number from this Topology change event, otherwise we won't be able to correlate node up event against the system.peers_v2 table accurately.
C* version I'm testing against : 4.0.x (trunk)
Steps to reproduce:
1. create a single node, cluster, in this case I'm using ccm.
ccm create 400-1 --install-dir=/Users/gregbestland/git/cassandra ccm populate -n 1 ccm start
2. Connect the java driver, and check metadata.
see that there is one node with the correct native port (9042).
3. Add a brand new node:
ccm add node2 -i 127.0.0.2 ccm node2 start
4. Incoming topology change message to client will have the storage port, rather then the native port in the message.