[
https://issues.apache.org/jira/browse/GEODE-8955?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Owen Nichols closed GEODE-8955.
-------------------------------
> WAN location service uses DistributedLocatorId.toString() to represent a
> locator
> --------------------------------------------------------------------------------
>
> Key: GEODE-8955
> URL: https://issues.apache.org/jira/browse/GEODE-8955
> Project: Geode
> Issue Type: Improvement
> Components: wan
> Reporter: Bruce J Schuchardt
> Assignee: Mario Kevo
> Priority: Minor
> Labels: pull-request-available
> Fix For: 1.15.0
>
>
> This code in LocatorHelper, and probably code in other parts of the WAN
> location service, uses DistributionLocatorId.toString() to track whether
> other locators have the WAN location service available. It should use the
> DistributionLocatorId.marshal() method instead. We should never use the
> toString() representation of an object in this way as it may change over time.
>
> {code:java}
> private static void addServerLocator(Integer distributedSystemId,
> LocatorMembershipListener locatorListener, DistributionLocatorId locator)
> {
> ConcurrentHashMap<Integer, Set<String>> allServerLocatorsInfo =
> (ConcurrentHashMap<Integer, Set<String>>)
> locatorListener.getAllServerLocatorsInfo();
> Set<String> locatorsSet = new CopyOnWriteHashSet<String>();
> locatorsSet.add(locator.toString());
> Set<String> existingValue =
> allServerLocatorsInfo.putIfAbsent(distributedSystemId, locatorsSet);
> if (existingValue != null) {
> if (!existingValue.contains(locator.toString())) {
> existingValue.add(locator.toString());
> }
> }
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)