|
23 | 23 | import org.apache.hadoop.net.MockDomainNameResolver; |
24 | 24 | import org.apache.hadoop.security.UserGroupInformation; |
25 | 25 | import org.apache.hadoop.test.GenericTestUtils; |
| 26 | +import org.apache.hadoop.util.Shell; |
26 | 27 | import org.apache.hadoop.util.Time; |
27 | 28 | import org.junit.Before; |
28 | 29 | import org.junit.BeforeClass; |
@@ -292,12 +293,22 @@ private void testResolveDomainNameUsingDNS(boolean useFQDN) throws Exception { |
292 | 293 | MockDomainNameResolver.FQDN_2 : "/" + MockDomainNameResolver.ADDR_2; |
293 | 294 | // Check we got the proper addresses |
294 | 295 | assertEquals(2, proxyResults.size()); |
295 | | - assertTrue( |
296 | | - "nn1 wasn't returned: " + proxyResults, |
297 | | - proxyResults.containsKey(resolvedHost1 + ":8020")); |
298 | | - assertTrue( |
299 | | - "nn2 wasn't returned: " + proxyResults, |
300 | | - proxyResults.containsKey(resolvedHost2 + ":8020")); |
| 296 | + if (Shell.isJavaVersionAtLeast(14) && useFQDN) { |
| 297 | + // JDK-8225499. The string format of unresolved address has been changed. |
| 298 | + assertTrue( |
| 299 | + "nn1 wasn't returned: " + proxyResults, |
| 300 | + proxyResults.containsKey(resolvedHost1 + "/<unresolved>:8020")); |
| 301 | + assertTrue( |
| 302 | + "nn2 wasn't returned: " + proxyResults, |
| 303 | + proxyResults.containsKey(resolvedHost2 + "/<unresolved>:8020")); |
| 304 | + } else { |
| 305 | + assertTrue( |
| 306 | + "nn1 wasn't returned: " + proxyResults, |
| 307 | + proxyResults.containsKey(resolvedHost1 + ":8020")); |
| 308 | + assertTrue( |
| 309 | + "nn2 wasn't returned: " + proxyResults, |
| 310 | + proxyResults.containsKey(resolvedHost2 + ":8020")); |
| 311 | + } |
301 | 312 |
|
302 | 313 | // Check that the Namenodes were invoked |
303 | 314 | assertEquals(NUM_ITERATIONS, nn1Count.get() + nn2Count.get()); |
|
0 commit comments