HDFS-4043. Namenode Kerberos Login does not use proper hostname for host qualified hdfs principal name.
Description of PR
Perform a DNS reverse name lookup when getCanonicalHost() returns the IP address as a string. The standard InetAddress getCanonicalHostName() has the following issues:
- It reports any cached value if exists
- It returns the IP address if it is unable to resolve a canonical name
- It caches any returned values, which would include the IP address as a string
How was this patch tested?
An HA configuration was deployed to Kubernetes, running Java 11. All services startup as expected. Performing a rolling restart of the JournalNodes caused failures when the NameNode communicated with the newly started JournalNode, reporting an exception that included a principal with the IP address instead of the canonical host name.
Performing the same activity after applying the patch succeeds as the DNS reverse lookup is performed to acquire the correct calculated principal.
For code changes:
- [X] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
- [ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
- [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
- [ ] If applicable, have you updated the
LICENSE,LICENSE-binary,NOTICE-binaryfiles?
The InetAddressUtils class in this patch will also be used to address HDFS-16685. Once this patch is accepted, I'll create the pull request for HDFS-16685.
cc @fengnanli @goiri since you authored the original code
:broken_heart: -1 overall
| Vote | Subsystem | Runtime | Logfile | Comment |
|---|---|---|---|---|
| +0 :ok: | reexec | 1m 29s | Docker mode activated. | |
| _ Prechecks _ | ||||
| +1 :green_heart: | dupname | 0m 0s | No case conflicting files found. | |
| +0 :ok: | codespell | 0m 1s | codespell was not available. | |
| +0 :ok: | detsecrets | 0m 1s | detect-secrets was not available. | |
| +0 :ok: | xmllint | 0m 1s | xmllint was not available. | |
| +1 :green_heart: | @author | 0m 0s | The patch does not contain any @author tags. | |
| +1 :green_heart: | test4tests | 0m 0s | The patch appears to include 1 new or modified test files. | |
| _ trunk Compile Tests _ | ||||
| +1 :green_heart: | mvninstall | 44m 12s | trunk passed | |
| +1 :green_heart: | compile | 28m 31s | trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu0.20.04.1 | |
| +1 :green_heart: | compile | 23m 42s | trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 | |
| +1 :green_heart: | checkstyle | 1m 38s | trunk passed | |
| +1 :green_heart: | mvnsite | 2m 10s | trunk passed | |
| +1 :green_heart: | javadoc | 1m 38s | trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu0.20.04.1 | |
| +1 :green_heart: | javadoc | 1m 5s | trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 | |
| +1 :green_heart: | spotbugs | 3m 18s | trunk passed | |
| +1 :green_heart: | shadedclient | 26m 34s | branch has no errors when building and testing our client artifacts. | |
| -0 :warning: | patch | 27m 0s | Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary. | |
| _ Patch Compile Tests _ | ||||
| +1 :green_heart: | mvninstall | 1m 9s | the patch passed | |
| +1 :green_heart: | compile | 24m 39s | the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu0.20.04.1 | |
| +1 :green_heart: | javac | 24m 39s | the patch passed | |
| +1 :green_heart: | compile | 22m 7s | the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 | |
| +1 :green_heart: | javac | 22m 7s | the patch passed | |
| +1 :green_heart: | blanks | 0m 1s | The patch has no blanks issues. | |
| -0 :warning: | checkstyle | 1m 31s | /results-checkstyle-hadoop-common-project_hadoop-common.txt | hadoop-common-project/hadoop-common: The patch generated 2 new + 92 unchanged - 0 fixed = 94 total (was 92) |
| +1 :green_heart: | mvnsite | 2m 3s | the patch passed | |
| +1 :green_heart: | javadoc | 1m 23s | the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu0.20.04.1 | |
| +1 :green_heart: | javadoc | 1m 7s | the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 | |
| -1 :x: | spotbugs | 3m 7s | /new-spotbugs-hadoop-common-project_hadoop-common.html | hadoop-common-project/hadoop-common generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0) |
| +1 :green_heart: | shadedclient | 25m 56s | patch has no errors when building and testing our client artifacts. | |
| _ Other Tests _ | ||||
| +1 :green_heart: | unit | 18m 21s | hadoop-common in the patch passed. | |
| +1 :green_heart: | asflicense | 1m 18s | The patch does not generate ASF License warnings. | |
| 237m 46s |
| Reason | Tests |
|---|---|
| SpotBugs | module:hadoop-common-project/hadoop-common |
| Possible null pointer dereference of host in org.apache.hadoop.net.DNSDomainNameResolver.getHostnameByIP(InetAddress) Dereferenced at DNSDomainNameResolver.java:host in org.apache.hadoop.net.DNSDomainNameResolver.getHostnameByIP(InetAddress) Dereferenced at DNSDomainNameResolver.java:[line 53] |
| Subsystem | Report/Notes |
|---|---|
| Docker | ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4693/7/artifact/out/Dockerfile |
| GITHUB PR | https://github.com/apache/hadoop/pull/4693 |
| Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint |
| uname | Linux cae38b3d31dd 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/bin/hadoop.sh |
| git revision | trunk / e88831b77d4b13c5bb394a7d6929966efa9cc1d2 |
| Default Java | Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 |
| Multi-JDK versions | /usr/lib/jvm/java-11-openjdk-amd64:Private Build-11.0.15+10-Ubuntu-0ubuntu0.20.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 |
| Test Results | https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4693/7/testReport/ |
| Max. process+thread count | 3067 (vs. ulimit of 5500) |
| modules | C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common |
| Console output | https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4693/7/console |
| versions | git=2.25.1 maven=3.6.3 spotbugs=4.2.2 |
| Powered by | Apache Yetus 0.14.0 https://yetus.apache.org |
This message was automatically generated.
:confetti_ball: +1 overall
| Vote | Subsystem | Runtime | Logfile | Comment |
|---|---|---|---|---|
| +0 :ok: | reexec | 0m 59s | Docker mode activated. | |
| _ Prechecks _ | ||||
| +1 :green_heart: | dupname | 0m 0s | No case conflicting files found. | |
| +0 :ok: | codespell | 0m 1s | codespell was not available. | |
| +0 :ok: | detsecrets | 0m 1s | detect-secrets was not available. | |
| +0 :ok: | xmllint | 0m 1s | xmllint was not available. | |
| +1 :green_heart: | @author | 0m 0s | The patch does not contain any @author tags. | |
| +1 :green_heart: | test4tests | 0m 0s | The patch appears to include 1 new or modified test files. | |
| _ trunk Compile Tests _ | ||||
| +1 :green_heart: | mvninstall | 42m 27s | trunk passed | |
| +1 :green_heart: | compile | 26m 42s | trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu0.20.04.1 | |
| +1 :green_heart: | compile | 23m 59s | trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 | |
| +1 :green_heart: | checkstyle | 1m 31s | trunk passed | |
| +1 :green_heart: | mvnsite | 1m 58s | trunk passed | |
| +1 :green_heart: | javadoc | 1m 31s | trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu0.20.04.1 | |
| +1 :green_heart: | javadoc | 1m 4s | trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 | |
| +1 :green_heart: | spotbugs | 3m 3s | trunk passed | |
| +1 :green_heart: | shadedclient | 27m 5s | branch has no errors when building and testing our client artifacts. | |
| -0 :warning: | patch | 27m 32s | Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary. | |
| _ Patch Compile Tests _ | ||||
| +1 :green_heart: | mvninstall | 1m 6s | the patch passed | |
| +1 :green_heart: | compile | 24m 32s | the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu0.20.04.1 | |
| +1 :green_heart: | javac | 24m 32s | the patch passed | |
| +1 :green_heart: | compile | 21m 53s | the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 | |
| +1 :green_heart: | javac | 21m 53s | the patch passed | |
| +1 :green_heart: | blanks | 0m 0s | The patch has no blanks issues. | |
| -0 :warning: | checkstyle | 1m 25s | /results-checkstyle-hadoop-common-project_hadoop-common.txt | hadoop-common-project/hadoop-common: The patch generated 2 new + 92 unchanged - 0 fixed = 94 total (was 92) |
| +1 :green_heart: | mvnsite | 1m 58s | the patch passed | |
| +1 :green_heart: | javadoc | 1m 23s | the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu0.20.04.1 | |
| +1 :green_heart: | javadoc | 1m 5s | the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 | |
| +1 :green_heart: | spotbugs | 3m 1s | the patch passed | |
| +1 :green_heart: | shadedclient | 26m 32s | patch has no errors when building and testing our client artifacts. | |
| _ Other Tests _ | ||||
| +1 :green_heart: | unit | 18m 22s | hadoop-common in the patch passed. | |
| +1 :green_heart: | asflicense | 1m 17s | The patch does not generate ASF License warnings. | |
| 233m 30s |
| Subsystem | Report/Notes |
|---|---|
| Docker | ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4693/8/artifact/out/Dockerfile |
| GITHUB PR | https://github.com/apache/hadoop/pull/4693 |
| Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint |
| uname | Linux bb8f8c1c3dfe 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/bin/hadoop.sh |
| git revision | trunk / 31572d6318a5d14e01787298a09f6b84d57b1f9f |
| Default Java | Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 |
| Multi-JDK versions | /usr/lib/jvm/java-11-openjdk-amd64:Private Build-11.0.15+10-Ubuntu-0ubuntu0.20.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07 |
| Test Results | https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4693/8/testReport/ |
| Max. process+thread count | 3144 (vs. ulimit of 5500) |
| modules | C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common |
| Console output | https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4693/8/console |
| versions | git=2.25.1 maven=3.6.3 spotbugs=4.2.2 |
| Powered by | Apache Yetus 0.14.0 https://yetus.apache.org |
This message was automatically generated.
Thanks, merged to trunk