Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
4.0.8, 4.1.1, 5.0-alpha1, 5.0
-
None
-
Availability - Unavailable
-
Normal
-
Normal
-
User Report
-
All
-
None
-
Description
During testing of Cassandra on AWS, we noticed some behavior changes between Cassandra 3.11 and Cassandra 4.0 when it comes to messaging.
When performing a range query with consistency local_quorum, Cassandra sents a request to itself and some peers.
In case of Cassandra 4.0, it's trying to connect to itself using the broadcast_address while in Cassandra 3.11 it's connecting using the local address (see https://github.com/apache/cassandra/blob/cassandra-3.11/src/java/org/apache/cassandra/net/OutboundTcpConnectionPool.java#L152.
This translation seems to be missing in Cassandra 4.X. I think the best place to fix it would be here (see attached file): https://github.com/apache/cassandra/blob/cassandra-4.0/src/java/org/apache/cassandra/net/OutboundConnectionSettings.java#L451