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

cnauroth pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/trunk by this push:
     new af6a64f7631 HADOOP-19499. Handle JDK-8225499 IpAddr.toString() format 
changes in tests
af6a64f7631 is described below

commit af6a64f7631a25674fdcffcea763c3ba4a2e40cc
Author: Istvan Toth <st...@apache.org>
AuthorDate: Thu Mar 20 22:54:50 2025 +0000

    HADOOP-19499. Handle JDK-8225499 IpAddr.toString() format changes in tests
    
    Closes #7502
    
    Signed-off-by: Chris Nauroth <cnaur...@apache.org>
---
 .../router/TestRouterNamenodeHeartbeat.java        | 41 +++++++++++++------
 .../mapreduce/v2/app/TestJobEndNotifier.java       | 47 +++++++++++++++-------
 2 files changed, 62 insertions(+), 26 deletions(-)

diff --git 
a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterNamenodeHeartbeat.java
 
b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterNamenodeHeartbeat.java
index bb284c49ce3..18718158724 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterNamenodeHeartbeat.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterNamenodeHeartbeat.java
@@ -48,6 +48,7 @@
 import org.apache.hadoop.net.MockDomainNameResolver;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.service.Service.STATE;
+import org.apache.hadoop.util.Shell;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Rule;
@@ -216,18 +217,34 @@ public void testHearbeat() throws InterruptedException, 
IOException {
 
   @Test
   public void testNamenodeHeartbeatServiceHAServiceProtocolProxy(){
-    testNamenodeHeartbeatServiceHAServiceProtocol(
-        "test-ns", "nn", 1000, -1, -1, 1003,
-        "host01.test:1000", "host02.test:1000");
-    testNamenodeHeartbeatServiceHAServiceProtocol(
-        "test-ns", "nn", 1000, 1001, -1, 1003,
-        "host01.test:1001", "host02.test:1001");
-    testNamenodeHeartbeatServiceHAServiceProtocol(
-        "test-ns", "nn", 1000, -1, 1002, 1003,
-        "host01.test:1002", "host02.test:1002");
-    testNamenodeHeartbeatServiceHAServiceProtocol(
-        "test-ns", "nn", 1000, 1001, 1002, 1003,
-        "host01.test:1002", "host02.test:1002");
+    // JDK-8225499. The string format of unresolved address has been changed.
+    if (Shell.isJavaVersionAtLeast(14)) {
+      testNamenodeHeartbeatServiceHAServiceProtocol(
+          "test-ns", "nn", 1000, -1, -1, 1003,
+          "host01.test/<unresolved>:1000", "host02.test/<unresolved>:1000");
+      testNamenodeHeartbeatServiceHAServiceProtocol(
+          "test-ns", "nn", 1000, 1001, -1, 1003,
+          "host01.test/<unresolved>:1001", "host02.test/<unresolved>:1001");
+      testNamenodeHeartbeatServiceHAServiceProtocol(
+          "test-ns", "nn", 1000, -1, 1002, 1003,
+          "host01.test/<unresolved>:1002", "host02.test/<unresolved>:1002");
+      testNamenodeHeartbeatServiceHAServiceProtocol(
+          "test-ns", "nn", 1000, 1001, 1002, 1003,
+          "host01.test/<unresolved>:1002", "host02.test/<unresolved>:1002");
+    } else {
+      testNamenodeHeartbeatServiceHAServiceProtocol(
+          "test-ns", "nn", 1000, -1, -1, 1003,
+          "host01.test:1000", "host02.test:1000");
+      testNamenodeHeartbeatServiceHAServiceProtocol(
+          "test-ns", "nn", 1000, 1001, -1, 1003,
+          "host01.test:1001", "host02.test:1001");
+      testNamenodeHeartbeatServiceHAServiceProtocol(
+          "test-ns", "nn", 1000, -1, 1002, 1003,
+          "host01.test:1002", "host02.test:1002");
+      testNamenodeHeartbeatServiceHAServiceProtocol(
+          "test-ns", "nn", 1000, 1001, 1002, 1003,
+          "host01.test:1002", "host02.test:1002");
+    }
   }
 
   private void testNamenodeHeartbeatServiceHAServiceProtocol(
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestJobEndNotifier.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestJobEndNotifier.java
index b2af290d9bb..f8fefd8fe6d 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestJobEndNotifier.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestJobEndNotifier.java
@@ -61,6 +61,7 @@
 import org.apache.hadoop.mapreduce.v2.app.rm.ContainerAllocatorEvent;
 import org.apache.hadoop.mapreduce.v2.app.rm.RMCommunicator;
 import org.apache.hadoop.mapreduce.v2.app.rm.RMHeartbeatHandler;
+import org.apache.hadoop.util.Shell;
 import org.apache.hadoop.yarn.exceptions.YarnException;
 import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
 import org.junit.jupiter.api.Test;
@@ -124,20 +125,38 @@ private void testProxyConfiguration(Configuration conf) {
         "Proxy shouldn't be set because port wasn't numeric");
     conf.set(MRJobConfig.MR_JOB_END_NOTIFICATION_PROXY, "somehost:1000");
     setConf(conf);
-    assertEquals("HTTP @ somehost:1000", proxyToUse.toString(),
-        "Proxy should have been set but wasn't ");
-    conf.set(MRJobConfig.MR_JOB_END_NOTIFICATION_PROXY, "socks@somehost:1000");
-    setConf(conf);
-    assertEquals("SOCKS @ somehost:1000", proxyToUse.toString(),
-        "Proxy should have been socks but wasn't ");
-    conf.set(MRJobConfig.MR_JOB_END_NOTIFICATION_PROXY, "SOCKS@somehost:1000");
-    setConf(conf);
-    assertEquals("SOCKS @ somehost:1000", proxyToUse.toString(),
-        "Proxy should have been socks but wasn't ");
-    conf.set(MRJobConfig.MR_JOB_END_NOTIFICATION_PROXY, "sfafn@somehost:1000");
-    setConf(conf);
-    assertEquals("HTTP @ somehost:1000", proxyToUse.toString(),
-        "Proxy should have been http but wasn't ");
+    // JDK-8225499. The string format of unresolved address has been changed.
+    if (Shell.isJavaVersionAtLeast(14)) {
+      assertEquals("HTTP @ somehost/<unresolved>:1000", proxyToUse.toString(),
+          "Proxy should have been set but wasn't ");
+      conf.set(MRJobConfig.MR_JOB_END_NOTIFICATION_PROXY, 
"socks@somehost:1000");
+      setConf(conf);
+      assertEquals("SOCKS @ somehost/<unresolved>:1000", proxyToUse.toString(),
+          "Proxy should have been socks but wasn't ");
+      conf.set(MRJobConfig.MR_JOB_END_NOTIFICATION_PROXY, 
"SOCKS@somehost:1000");
+      setConf(conf);
+      assertEquals("SOCKS @ somehost/<unresolved>:1000", proxyToUse.toString(),
+          "Proxy should have been socks but wasn't ");
+      conf.set(MRJobConfig.MR_JOB_END_NOTIFICATION_PROXY, 
"sfafn@somehost:1000");
+      setConf(conf);
+      assertEquals("HTTP @ somehost/<unresolved>:1000", proxyToUse.toString(),
+          "Proxy should have been http but wasn't ");
+    } else {
+      assertEquals("HTTP @ somehost:1000", proxyToUse.toString(),
+          "Proxy should have been set but wasn't ");
+      conf.set(MRJobConfig.MR_JOB_END_NOTIFICATION_PROXY, 
"socks@somehost:1000");
+      setConf(conf);
+      assertEquals("SOCKS @ somehost:1000", proxyToUse.toString(),
+          "Proxy should have been socks but wasn't ");
+      conf.set(MRJobConfig.MR_JOB_END_NOTIFICATION_PROXY, 
"SOCKS@somehost:1000");
+      setConf(conf);
+      assertEquals("SOCKS @ somehost:1000", proxyToUse.toString(),
+          "Proxy should have been socks but wasn't ");
+      conf.set(MRJobConfig.MR_JOB_END_NOTIFICATION_PROXY, 
"sfafn@somehost:1000");
+      setConf(conf);
+      assertEquals("HTTP @ somehost:1000", proxyToUse.toString(),
+          "Proxy should have been http but wasn't ");
+    }
   }
 
   /**


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to