[ https://issues.apache.org/jira/browse/HDFS-17737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17929280#comment-17929280 ]
ASF GitHub Bot commented on HDFS-17737: --------------------------------------- hadoop-yetus commented on PR #7427: URL: https://github.com/apache/hadoop/pull/7427#issuecomment-2675837577 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Logfile | Comment | |:----:|----------:|--------:|:--------:|:-------:| | +0 :ok: | reexec | 0m 32s | | Docker mode activated. | |||| _ Prechecks _ | | +1 :green_heart: | dupname | 0m 0s | | No case conflicting files found. | | +0 :ok: | codespell | 0m 0s | | codespell was not available. | | +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available. | | +0 :ok: | xmllint | 0m 0s | | 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 4 new or modified test files. | |||| _ trunk Compile Tests _ | | +0 :ok: | mvndep | 6m 28s | | Maven dependency ordering for branch | | +1 :green_heart: | mvninstall | 31m 33s | | trunk passed | | +1 :green_heart: | compile | 5m 53s | | trunk passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04 | | +1 :green_heart: | compile | 5m 12s | | trunk passed with JDK Private Build-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06 | | +1 :green_heart: | checkstyle | 1m 22s | | trunk passed | | +1 :green_heart: | mvnsite | 2m 8s | | trunk passed | | +1 :green_heart: | javadoc | 1m 50s | | trunk passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04 | | +1 :green_heart: | javadoc | 2m 16s | | trunk passed with JDK Private Build-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06 | | +1 :green_heart: | spotbugs | 5m 27s | | trunk passed | | +1 :green_heart: | shadedclient | 39m 48s | | branch has no errors when building and testing our client artifacts. | |||| _ Patch Compile Tests _ | | +0 :ok: | mvndep | 0m 31s | | Maven dependency ordering for patch | | -1 :x: | mvninstall | 0m 34s | [/patch-mvninstall-hadoop-hdfs-project_hadoop-hdfs-client.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-mvninstall-hadoop-hdfs-project_hadoop-hdfs-client.txt) | hadoop-hdfs-client in the patch failed. | | -1 :x: | mvninstall | 0m 56s | [/patch-mvninstall-hadoop-hdfs-project_hadoop-hdfs.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-mvninstall-hadoop-hdfs-project_hadoop-hdfs.txt) | hadoop-hdfs in the patch failed. | | -1 :x: | compile | 0m 39s | [/patch-compile-hadoop-hdfs-project-jdkUbuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-compile-hadoop-hdfs-project-jdkUbuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04.txt) | hadoop-hdfs-project in the patch failed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04. | | -1 :x: | javac | 0m 39s | [/patch-compile-hadoop-hdfs-project-jdkUbuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-compile-hadoop-hdfs-project-jdkUbuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04.txt) | hadoop-hdfs-project in the patch failed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04. | | -1 :x: | compile | 0m 31s | [/patch-compile-hadoop-hdfs-project-jdkPrivateBuild-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-compile-hadoop-hdfs-project-jdkPrivateBuild-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06.txt) | hadoop-hdfs-project in the patch failed with JDK Private Build-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06. | | -1 :x: | javac | 0m 31s | [/patch-compile-hadoop-hdfs-project-jdkPrivateBuild-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-compile-hadoop-hdfs-project-jdkPrivateBuild-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06.txt) | hadoop-hdfs-project in the patch failed with JDK Private Build-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06. | | +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks issues. | | -0 :warning: | checkstyle | 1m 7s | [/results-checkstyle-hadoop-hdfs-project.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/results-checkstyle-hadoop-hdfs-project.txt) | hadoop-hdfs-project: The patch generated 13 new + 110 unchanged - 4 fixed = 123 total (was 114) | | -1 :x: | mvnsite | 0m 34s | [/patch-mvnsite-hadoop-hdfs-project_hadoop-hdfs-client.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-mvnsite-hadoop-hdfs-project_hadoop-hdfs-client.txt) | hadoop-hdfs-client in the patch failed. | | -1 :x: | mvnsite | 1m 1s | [/patch-mvnsite-hadoop-hdfs-project_hadoop-hdfs.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-mvnsite-hadoop-hdfs-project_hadoop-hdfs.txt) | hadoop-hdfs in the patch failed. | | -1 :x: | javadoc | 0m 26s | [/patch-javadoc-hadoop-hdfs-project_hadoop-hdfs-client-jdkUbuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-javadoc-hadoop-hdfs-project_hadoop-hdfs-client-jdkUbuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04.txt) | hadoop-hdfs-client in the patch failed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04. | | -1 :x: | javadoc | 0m 31s | [/results-javadoc-javadoc-hadoop-hdfs-project_hadoop-hdfs-client-jdkPrivateBuild-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/results-javadoc-javadoc-hadoop-hdfs-project_hadoop-hdfs-client-jdkPrivateBuild-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06.txt) | hadoop-hdfs-project_hadoop-hdfs-client-jdkPrivateBuild-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06 with JDK Private Build-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06 generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0) | | -1 :x: | spotbugs | 0m 34s | [/patch-spotbugs-hadoop-hdfs-project_hadoop-hdfs-client.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-spotbugs-hadoop-hdfs-project_hadoop-hdfs-client.txt) | hadoop-hdfs-client in the patch failed. | | -1 :x: | spotbugs | 0m 59s | [/patch-spotbugs-hadoop-hdfs-project_hadoop-hdfs.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-spotbugs-hadoop-hdfs-project_hadoop-hdfs.txt) | hadoop-hdfs in the patch failed. | | -1 :x: | shadedclient | 14m 33s | | patch has errors when building and testing our client artifacts. | |||| _ Other Tests _ | | -1 :x: | unit | 0m 33s | [/patch-unit-hadoop-hdfs-project_hadoop-hdfs-client.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-unit-hadoop-hdfs-project_hadoop-hdfs-client.txt) | hadoop-hdfs-client in the patch failed. | | -1 :x: | unit | 0m 55s | [/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt) | hadoop-hdfs in the patch failed. | | +1 :green_heart: | asflicense | 0m 29s | | The patch does not generate ASF License warnings. | | | | 121m 18s | | | | Subsystem | Report/Notes | |----------:|:-------------| | Docker | ClientAPI=1.48 ServerAPI=1.48 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/7427 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint | | uname | Linux 3489e4b60808 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | dev-support/bin/hadoop.sh | | git revision | trunk / e0dcbb4c14465a8ad9cae4b98e086e341b40d57a | | Default Java | Private Build-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06 | | Multi-JDK versions | /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_442-8u442-b06~us1-0ubuntu1~20.04-b06 | | Test Results | https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7427/1/testReport/ | | Max. process+thread count | 634 (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-7427/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. > Implement Backoff Retry for ErasureCoding reads > ----------------------------------------------- > > Key: HDFS-17737 > URL: https://issues.apache.org/jira/browse/HDFS-17737 > Project: Hadoop HDFS > Issue Type: Improvement > Components: dfsclient, ec, erasure-coding > Affects Versions: 3.3.4 > Reporter: Danny Becker > Assignee: Danny Becker > Priority: Major > Labels: pull-request-available > > #Why > Currently EC Reads are less stable than replication reads because if 4 out of > 9 datanodes in the block group are unable to connect, then the whole read > fails. Erasure Coding reads need to be able to handle connection failures > from DataNodes and retry after a backoff duration to avoid overloading the > DataNodes while increasing the stability of the read. > Throttling on server side was another proposed solution, but we prefer this > client side backoff for a few main reasons: > 1. Throttling on the server would use up thread connections which have a > maximum limit. > 2. Throttling was originally added only for cohosting scenario to reduce > impact on other services > 3. Throttling would use up resources on the DataNode which could already be > in a bad state. > #What > The previous implementation followed a 4 phase algorithm to read. > 1. Attempt to read chunks from the data blocks > 2. Check for missing data chunks. Fail if there are more missing than the > number of parity blocks, otherwise read parity blocks and null data blocks > 3. Wait for data to be read into the buffers and handle any read errors by > reading from more parity blocks > 4. Check for missing blocks and either decode or fail. > The new implementation now merges phase 1-3 into a single loop: > 1. Loop until we have enough blocks for read or decode, or we have too many > missing blocks to succeed > - Determine the number of chunks we need to fetch. ALLZERO chunks count > towards this total. null data chunks also count towards this total unless > there are MISSING or SLEEPING data chunks. > - Read chunks until we have enough pending or fetched to be able to decode > or normal read. > faster. > - Get results from reads and handle exceptions by preparing more reads for > decoding the missing data > - Check if we should sleep before retrying any reads. > 2. Check for missing blocks and either decode or fail. > #Tests > Add unit test to `TestWriteReadStripedFile` > - Covers RS(3,2) with 1 chunk busy, 2 chunks busy, and 3 chunks busy. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org