This is an automated email from the ASF dual-hosted git repository.

jbarrett pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new 78d4e56293 GEODE-10254: Use original hostname if host is null. (#7618)
78d4e56293 is described below

commit 78d4e56293c2b60be188928ce0fea2af302b6c2c
Author: Jacob Barrett <jbarr...@pivotal.io>
AuthorDate: Mon Apr 25 09:53:10 2022 -0700

    GEODE-10254: Use original hostname if host is null. (#7618)
    
    If original hostname was not resolvable then host is null. Use hostname
    if host is null when marshaling.
---
 .../admin/remote/DistributionLocatorId.java         |  4 +++-
 .../admin/remote/DistributionLocatorIdTest.java     | 21 ++++++++++++++-------
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/DistributionLocatorId.java
 
b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/DistributionLocatorId.java
index 8b890489bc..abf5bce370 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/admin/remote/DistributionLocatorId.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/admin/remote/DistributionLocatorId.java
@@ -248,12 +248,14 @@ public class DistributionLocatorId implements 
java.io.Serializable {
       sb.append(hostnameForClients);
     } else if (!isEmpty(bindAddress)) {
       sb.append(bindAddress);
-    } else {
+    } else if (null != host) {
       if (isMcastId()) {
         sb.append(host.getHostAddress());
       } else {
         sb.append(SocketCreator.getHostName(host));
       }
+    } else {
+      sb.append(hostname);
     }
 
     sb.append("[").append(port).append("]");
diff --git 
a/geode-core/src/test/java/org/apache/geode/internal/admin/remote/DistributionLocatorIdTest.java
 
b/geode-core/src/test/java/org/apache/geode/internal/admin/remote/DistributionLocatorIdTest.java
index 4e1b9b149c..f7bf9f2e95 100644
--- 
a/geode-core/src/test/java/org/apache/geode/internal/admin/remote/DistributionLocatorIdTest.java
+++ 
b/geode-core/src/test/java/org/apache/geode/internal/admin/remote/DistributionLocatorIdTest.java
@@ -15,6 +15,7 @@
 
 package org.apache.geode.internal.admin.remote;
 
+import static 
org.apache.geode.internal.admin.remote.DistributionLocatorId.unmarshal;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatNoException;
 import static org.mockito.Mockito.mock;
@@ -56,7 +57,7 @@ class DistributionLocatorIdTest {
     DistributionLocatorId distributionLocatorId3 =
         new DistributionLocatorId(40404, "127.0.0.1", null, "member3");
     DistributionLocatorId distributionLocatorId4 =
-        DistributionLocatorId.unmarshal(distributionLocatorId3.marshal());
+        unmarshal(distributionLocatorId3.marshal());
 
     assertThat(distributionLocatorId1).isEqualTo(distributionLocatorId2);
     assertThat(distributionLocatorId1).isEqualTo(distributionLocatorId3);
@@ -74,10 +75,17 @@ class DistributionLocatorIdTest {
   }
 
   @Test
-  void marshalForClientsMarshaledAddressWhenConstructedWithMarshaledAddress() {
-    final DistributionLocatorId locatorId = 
DistributionLocatorId.unmarshal("localhost[1234]");
+  void 
marshalForClientsReturnsOriginalHostnameWhenUnmarshalledHostnameIsResolvable() {
+    final String marshalled = "localhost[1234]";
+    final DistributionLocatorId locatorId = unmarshal(marshalled);
+    assertThat(locatorId.marshalForClients()).isEqualTo(marshalled);
+  }
 
-    assertThat(locatorId.marshalForClients()).isEqualTo("localhost[1234]");
+  @Test
+  void 
marshalForClientsReturnsOriginalHostnameWhenUnmarshalledHostnameIsNotResolvable()
 {
+    final String marshalled = "unknown.invalid[1234]";
+    final DistributionLocatorId locatorId = unmarshal(marshalled);
+    assertThat(locatorId.marshalForClients()).isEqualTo(marshalled);
   }
 
   @Test
@@ -142,9 +150,8 @@ class DistributionLocatorIdTest {
 
   @SuppressWarnings("ResultOfMethodCallIgnored")
   @Test
-  void hashCodeDoesNotThrowWhenHostIsNull() {
-    final DistributionLocatorId locatorId =
-        DistributionLocatorId.unmarshal("unknown.invalid[1234]");
+  void hashCodeDoesNotThrowWhenHostnameIsNotResolvable() {
+    final DistributionLocatorId locatorId = unmarshal("unknown.invalid[1234]");
     assertThatNoException().isThrownBy(locatorId::hashCode);
   }
 }

Reply via email to