[
https://issues.apache.org/jira/browse/GEODE-8955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17511515#comment-17511515
]
ASF subversion and git services commented on GEODE-8955:
--------------------------------------------------------
Commit c17509653d807026040121bcd63461de0eeba86c in geode's branch
refs/heads/develop from Dan Smith
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=c175096 ]
GEODE-10127: Use correct hostname in WAN with LB test
This test is making gateway sender side members to connect to the receiver side
through a load balance. This test used "localhost" as the hostname for
clients. That worked previously, because we were actually losing the
hostname-for-clients in the RemoteLocatorResponse, and instead sending the IP
address, due to the changes in GEODE-8955.
With the fix for GEODE-10127, we are now correctly sending the
hostname-for-clients to the gateway sender, and so
now "localhost" doesn't work. The correct hostname-for-clients is the IP
address we get from docker-compose.
Changing the test to pass the IP address instead of "localhost" to the receiver
locator, just like we do for the receivers themselves.
Replacing the gfsh scripts in the
SeveralGatewayReceiversWithSamePortAndHostnameForSendersTest with inline gfsh
-e statements in the java code.
> 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.1#820001)