HDFS-17789. Add NormalUnderReplBlocksCount and BadlyDistributedBlocksCount to getStats() NN RPC
Description of PR
At LinkedIn, we use the stats from the getStats() NN RPC call to evaluate safety checks that ensure that various maintenance ops are safe to run.
Due to a migration we are undertaking, the badly distributed block count is very high for the cluster undergoing migration. This is not a safety problem. However, to distinguish it from the actual low redundancy block count, we need both these values to be available from the getStats() RPC. The current low redundancy blocks count value available is the sum of all the different types of low redundancy blocks, including normal low redundancy blocks and badly distributed blocks.
This PR adds these 2 values separately to the array returned by getStats() RPC.
How was this patch tested?
Trivial change. It has been running in our prod cluster for a bit now. Build passes:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 42:50 min
[INFO] Finished at: 2025-05-19T14:51:09+05:30
[INFO] ------------------------------------------------------------------------
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?
:broken_heart: -1 overall
| Vote | Subsystem | Runtime | Logfile | Comment |
|---|---|---|---|---|
| +0 :ok: | reexec | 0m 25s | 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. | |
| +1 :green_heart: | @author | 0m 0s | The patch does not contain any @author tags. | |
| -1 :x: | test4tests | 0m 0s | The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. | |
| _ trunk Compile Tests _ | ||||
| +0 :ok: | mvndep | 6m 3s | Maven dependency ordering for branch | |
| +1 :green_heart: | mvninstall | 20m 3s | trunk passed | |
| +1 :green_heart: | compile | 3m 8s | trunk passed with JDK Ubuntu-11.0.27+6-post-Ubuntu-0ubuntu120.04 | |
| +1 :green_heart: | compile | 2m 51s | trunk passed with JDK Private Build-1.8.0_452-8u452-ga~us1-0ubuntu1~20.04-b09 | |
| +1 :green_heart: | checkstyle | 0m 47s | trunk passed | |
| +1 :green_heart: | mvnsite | 1m 29s | trunk passed | |
| +1 :green_heart: | javadoc | 1m 13s | trunk passed with JDK Ubuntu-11.0.27+6-post-Ubuntu-0ubuntu120.04 | |
| +1 :green_heart: | javadoc | 1m 51s | trunk passed with JDK Private Build-1.8.0_452-8u452-ga~us1-0ubuntu1~20.04-b09 | |
| +1 :green_heart: | spotbugs | 3m 19s | trunk passed | |
| +1 :green_heart: | shadedclient | 21m 51s | branch has no errors when building and testing our client artifacts. | |
| _ Patch Compile Tests _ | ||||
| +0 :ok: | mvndep | 0m 22s | Maven dependency ordering for patch | |
| +1 :green_heart: | mvninstall | 1m 6s | the patch passed | |
| +1 :green_heart: | compile | 3m 14s | the patch passed with JDK Ubuntu-11.0.27+6-post-Ubuntu-0ubuntu120.04 | |
| +1 :green_heart: | javac | 3m 14s | the patch passed | |
| +1 :green_heart: | compile | 2m 59s | the patch passed with JDK Private Build-1.8.0_452-8u452-ga~us1-0ubuntu1~20.04-b09 | |
| +1 :green_heart: | javac | 2m 59s | the patch passed | |
| +1 :green_heart: | blanks | 0m 0s | The patch has no blanks issues. | |
| -0 :warning: | checkstyle | 0m 42s | /results-checkstyle-hadoop-hdfs-project.txt | hadoop-hdfs-project: The patch generated 1 new + 169 unchanged - 0 fixed = 170 total (was 169) |
| +1 :green_heart: | mvnsite | 1m 14s | the patch passed | |
| -1 :x: | javadoc | 0m 25s | /results-javadoc-javadoc-hadoop-hdfs-project_hadoop-hdfs-client-jdkUbuntu-11.0.27+6-post-Ubuntu-0ubuntu120.04.txt | hadoop-hdfs-project_hadoop-hdfs-client-jdkUbuntu-11.0.27+6-post-Ubuntu-0ubuntu120.04 with JDK Ubuntu-11.0.27+6-post-Ubuntu-0ubuntu120.04 generated 4 new + 1161 unchanged - 0 fixed = 1165 total (was 1161) |
| +1 :green_heart: | javadoc | 1m 28s | the patch passed with JDK Private Build-1.8.0_452-8u452-ga~us1-0ubuntu1~20.04-b09 | |
| +1 :green_heart: | spotbugs | 3m 13s | the patch passed | |
| +1 :green_heart: | shadedclient | 23m 53s | patch has no errors when building and testing our client artifacts. | |
| _ Other Tests _ | ||||
| +1 :green_heart: | unit | 2m 9s | hadoop-hdfs-client in the patch passed. | |
| +1 :green_heart: | unit | 11m 5s | hadoop-hdfs in the patch passed. | |
| +1 :green_heart: | asflicense | 0m 22s | The patch does not generate ASF License warnings. | |
| 115m 59s |
| Subsystem | Report/Notes |
|---|---|
| Docker | ClientAPI=1.49 ServerAPI=1.49 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7695/1/artifact/out/Dockerfile |
| GITHUB PR | https://github.com/apache/hadoop/pull/7695 |
| Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets |
| uname | Linux 64672e9defb2 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/bin/hadoop.sh |
| git revision | trunk / 20f5e88df0c1420e6e65addaadfd8a535305a675 |
| Default Java | Private Build-1.8.0_452-8u452-ga~us1-0ubuntu1~20.04-b09 |
| Multi-JDK versions | /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.27+6-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_452-8u452-ga~us1-0ubuntu1~20.04-b09 |
| Test Results | https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7695/1/testReport/ |
| Max. process+thread count | 1158 (vs. ulimit of 5500) |
| modules | C: hadoop-hdfs-project/hadoop-hdfs-client hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project |
| Console output | https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7695/1/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.
We're closing this stale PR because it has been open for 100 days with no activity. This isn't a judgement on the merit of the PR in any way. It's just a way of keeping the PR queue manageable. If you feel like this was a mistake, or you would like to continue working on it, please feel free to re-open it and ask for a committer to remove the stale tag and review again. Thanks all for your contribution.