hadoop icon indicating copy to clipboard operation
hadoop copied to clipboard

HADOOP-18490. Fixed the check logic for erasedIndexes in XORRawDecoder

Open teamconfx opened this issue 3 years ago • 1 comments

Description of PR

JIRA: HADOOP-18490

How was this patch tested?

Added a new value set in the test class TestDecodingValidator to verify the code change.

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-binary files?

teamconfx avatar Oct 11 '22 12:10 teamconfx

:confetti_ball: +1 overall

Vote Subsystem Runtime Logfile Comment
+0 :ok: reexec 0m 56s 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 :green_heart: test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ trunk Compile Tests _
+1 :green_heart: mvninstall 42m 24s trunk passed
+1 :green_heart: compile 25m 36s trunk passed with JDK Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04
+1 :green_heart: compile 22m 9s trunk passed with JDK Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07
+1 :green_heart: checkstyle 1m 22s trunk passed
+1 :green_heart: mvnsite 1m 52s trunk passed
+1 :green_heart: javadoc 1m 25s trunk passed with JDK Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04
+1 :green_heart: javadoc 0m 57s trunk passed with JDK Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07
+1 :green_heart: spotbugs 2m 58s trunk passed
+1 :green_heart: shadedclient 26m 7s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 :green_heart: mvninstall 1m 3s the patch passed
+1 :green_heart: compile 24m 35s the patch passed with JDK Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04
+1 :green_heart: javac 24m 35s the patch passed
+1 :green_heart: compile 21m 57s the patch passed with JDK Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07
+1 :green_heart: javac 21m 57s the patch passed
+1 :green_heart: blanks 0m 0s The patch has no blanks issues.
+1 :green_heart: checkstyle 1m 17s the patch passed
+1 :green_heart: mvnsite 1m 52s the patch passed
+1 :green_heart: javadoc 1m 17s the patch passed with JDK Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04
+1 :green_heart: javadoc 0m 57s the patch passed with JDK Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07
+1 :green_heart: spotbugs 2m 57s the patch passed
+1 :green_heart: shadedclient 25m 51s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 :green_heart: unit 18m 42s hadoop-common in the patch passed.
+1 :green_heart: asflicense 1m 9s The patch does not generate ASF License warnings.
227m 53s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5001/1/artifact/out/Dockerfile
GITHUB PR https://github.com/apache/hadoop/pull/5001
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux 7ec28689c322 4.15.0-191-generic #202-Ubuntu SMP Thu Aug 4 01:49:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 29c370f52eeb44acae6628832a3656c2af2dd6c4
Default Java Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5001/1/testReport/
Max. process+thread count 1253 (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-5001/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.

hadoop-yetus avatar Oct 11 '22 16:10 hadoop-yetus

Thanks, @ZanderXu, for the review.

I researched if the XORRawDecoder can decode multiple erased indexes, and I found that XORRawDecoder can generate only 1 parity bit, implying the erased indexes to be either 1 or 0.

One thing that surprises me is how the test method testValidate() passes on the newly added value set (numParityUnits = 3). The passing of the method means that XORRawDecoder could decode multiple erased indexes, which contradicts the actual statement.

I propose that we could either investigate and fix the testValidate() method or add the below check to run before each test: if (encoderFactoryClass == XORRawErasureCoderFactory.class) { Assume.assumeTrue(numParityUnits == 1); }

teamconfx avatar Oct 13 '22 19:10 teamconfx

One thing that surprises me is how the test method testValidate() passes on the newly added value set (numParityUnits = 3). The passing of the method means that XORRawDecoder could decode multiple erased indexes, which contradicts the actual statement.

@FuzzingTeam Can you look into the related code to find the root cause?

ZanderXu avatar Oct 14 '22 02:10 ZanderXu

:confetti_ball: +1 overall

Vote Subsystem Runtime Logfile Comment
+0 :ok: reexec 0m 45s 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.
+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 41m 13s trunk passed
+1 :green_heart: compile 25m 1s trunk passed with JDK Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04
+1 :green_heart: compile 21m 49s trunk passed with JDK Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07
+1 :green_heart: checkstyle 1m 28s trunk passed
+1 :green_heart: mvnsite 2m 5s trunk passed
+1 :green_heart: javadoc 1m 30s trunk passed with JDK Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04
+1 :green_heart: javadoc 1m 10s trunk passed with JDK Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07
+1 :green_heart: spotbugs 3m 8s trunk passed
+1 :green_heart: shadedclient 23m 50s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 :green_heart: mvninstall 1m 4s the patch passed
+1 :green_heart: compile 24m 15s the patch passed with JDK Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04
+1 :green_heart: javac 24m 15s the patch passed
+1 :green_heart: compile 22m 1s the patch passed with JDK Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07
+1 :green_heart: javac 22m 1s the patch passed
+1 :green_heart: blanks 0m 0s The patch has no blanks issues.
+1 :green_heart: checkstyle 1m 28s the patch passed
+1 :green_heart: mvnsite 1m 50s the patch passed
+1 :green_heart: javadoc 1m 20s the patch passed with JDK Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04
+1 :green_heart: javadoc 1m 4s the patch passed with JDK Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07
+1 :green_heart: spotbugs 2m 59s the patch passed
+1 :green_heart: shadedclient 23m 55s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 :green_heart: unit 19m 10s hadoop-common in the patch passed.
+1 :green_heart: asflicense 1m 17s The patch does not generate ASF License warnings.
223m 18s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5001/2/artifact/out/Dockerfile
GITHUB PR https://github.com/apache/hadoop/pull/5001
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux ce7e7168405b 4.15.0-191-generic #202-Ubuntu SMP Thu Aug 4 01:49:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 88a44c67cd2629244c1be753d5cd277d8c0323ed
Default Java Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.16+8-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_342-8u342-b07-0ubuntu1~20.04-b07
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5001/2/testReport/
Max. process+thread count 1979 (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-5001/2/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.

hadoop-yetus avatar Oct 22 '22 14:10 hadoop-yetus