Github user aweisberg commented on a diff in the pull request:
https://github.com/apache/cassandra/pull/224#discussion_r188435314
--- Diff: src/java/org/apache/cassandra/locator/TokenMetadata.java ---
@@ -856,25 +857,25 @@ private static PendingRangeMaps
calculatePendingRanges(AbstractReplicationStrate
{
PendingRangeMaps newPendingRanges = new PendingRangeMaps();
- Multimap<InetAddressAndPort, Range<Token>> addressRanges =
strategy.getAddressRanges(metadata);
+ ReplicaMultimap<InetAddressAndPort, ReplicaSet> addressRanges =
strategy.getAddressReplicas(metadata);
// Copy of metadata reflecting the situation after all leave
operations are finished.
TokenMetadata allLeftMetadata =
removeEndpoints(metadata.cloneOnlyTokenMap(), leavingEndpoints);
// get all ranges that will be affected by leaving nodes
Set<Range<Token>> affectedRanges = new HashSet<Range<Token>>();
for (InetAddressAndPort endpoint : leavingEndpoints)
- affectedRanges.addAll(addressRanges.get(endpoint));
+
affectedRanges.addAll(addressRanges.get(endpoint).asRangeSet());
--- End diff --
No reason to allocate a new set here, this is a candidate for
Collections2.transform
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]