[ 
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)

Reply via email to