CASSANDRA-21097: parseGossipInfo improper assumption might fail to parse gossip output after a node restart #4579
+154
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fix CASSANDRA-21097
Issue
ClusterUtils.parseGossipInfo() threw NullPointerException when parsing gossip info because it only checked for lines starting with "/" to identify endpoint addresses. When InetAddress.getHostName() is called (e.g., by JMX
methods), the hostname gets cached and toString() returns "localhost/127.0.0.1" instead of "/127.0.0.1".
Fix Applied
File: test/distributed/org/apache/cassandra/distributed/shared/ClusterUtils.java
Test Added
File: test/distributed/org/apache/cassandra/distributed/shared/ClusterUtilsParseGossipInfoTest.java
4 test cases covering: