Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HDDS-1525. Mapreduce failure when using Hadoop 2.7.5 #1065

Merged
merged 1 commit into from
Jul 10, 2019

Conversation

elek
Copy link
Member

@elek elek commented Jul 9, 2019

Integrate Ozone(0.4 branch) with Hadoop 2.7.5, "hdfs dfs -ls /" can pass, while teragen failed.

When add -verbose:class to java options, it shows that class KeyProvider is loaded twice by different classloader while it is only loaded once when execute "hdfs dfs -ls /"

All jars under share/ozone/lib are added into hadoop classpath except ozone file system current lib jar.

See: https://issues.apache.org/jira/browse/HDDS-1525

@elek elek added the ozone label Jul 9, 2019
@elek
Copy link
Member Author

elek commented Jul 9, 2019

As it's a bigger patch here is a quick guidance what is included:

 hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java            
 hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/BasicOzFs.java

This is the original fix by @xiaoyuyao It makes the RpcClient compatible with older hadoop versions

 hadoop-ozone/dist/src/main/compose/ozone-mr
 hadoop-ozone/dist/src/main/compose/ozone-fs

ozone-mr dir is reorganized to have subdirectories for mapreduce tests (hadoop 2.7, 3.1, 3.2).
Smoketest shell scripts are added

ozone-fs dir is deleted as ozone-mr includes all the functionality and it's better structured.

 hadoop-ozone/dist/src/main/compose/testlib.sh                                                  

Improved to pass custom robot test arguments. you case see the usage in ozone-mr/hadoop27/test.sh

 hadoop-ozone/dist/src/main/smoketest/ozonefs/hadoopo3fs.robot

Trival fix, the test was wrong until now.

 hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/BasicOzoneClientAdapterImpl.java
 hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/BasicOzoneFileSystem.java
 hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/FileStatusAdapter.java
 hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/FilteredClassLoader.java
 hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/OzoneClientAdapter.java

This is the second part of the fix (on top of the fixes from @xiaoyuyao. As the FileStatus (hadoop3) is not compatible with FileStatus (hadoop2), we need a class which can be shared between hadoop3 and hadoop2 (FileStatusAdapter, includes only simple java types).

 hadoop-ozone/ozonefs-lib-legacy/pom.xml

This is the third part of the fix. The token files should be available for hadoop2 classloader even if they are the cluster is not secure (to serialize/unserialize tokens). The required classes are copied directly to the jar file.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 42 Docker mode activated.
_ Prechecks _
+1 dupname 1 No case conflicting files found.
0 shelldocs 0 Shelldocs was not available.
0 yamllint 0 yamllint was not available.
+1 @author 0 The patch does not contain any @author tags.
-1 test4tests 0 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 mvndep 15 Maven dependency ordering for branch
-1 mvninstall 386 hadoop-ozone in trunk failed.
-1 compile 35 hadoop-hdds in trunk failed.
-1 compile 36 hadoop-ozone in trunk failed.
-0 checkstyle 20 The patch fails to run checkstyle in hadoop-ozone
+1 mvnsite 0 trunk passed
+1 shadedclient 762 branch has no errors when building and testing our client artifacts.
+1 javadoc 195 trunk passed
0 spotbugs 329 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 538 trunk passed
_ Patch Compile Tests _
0 mvndep 22 Maven dependency ordering for patch
-1 mvninstall 199 hadoop-ozone in the patch failed.
-1 compile 144 hadoop-ozone in the patch failed.
-1 javac 88 hadoop-hdds generated 14 new + 0 unchanged - 0 fixed = 14 total (was 0)
-1 javac 144 hadoop-ozone in the patch failed.
+1 checkstyle 79 the patch passed
+1 mvnsite 0 the patch passed
-1 shellcheck 1 The patch generated 3 new + 0 unchanged - 0 fixed = 3 total (was 0)
-1 whitespace 0 The patch has 43 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-1 whitespace 1 The patch 600 line(s) with tabs.
+1 xml 1 The patch has no ill-formed XML file.
+1 shadedclient 648 patch has no errors when building and testing our client artifacts.
+1 javadoc 170 the patch passed
-1 findbugs 261 hadoop-ozone in the patch failed.
_ Other Tests _
+1 unit 247 hadoop-hdds in the patch passed.
-1 unit 1655 hadoop-ozone in the patch failed.
+1 asflicense 60 The patch does not generate ASF License warnings.
6346
Reason Tests
Failed junit tests hadoop.ozone.client.rpc.TestOzoneRpcClientWithRatis
hadoop.ozone.client.rpc.TestSecureOzoneRpcClient
hadoop.ozone.client.rpc.TestWatchForCommit
hadoop.ozone.client.rpc.TestOzoneRpcClient
Subsystem Report/Notes
Docker Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/Dockerfile
GITHUB PR #1065
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle shellcheck shelldocs yamllint xml
uname Linux aed57ab8a277 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 8861573
Default Java 1.8.0_212
mvninstall https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/branch-mvninstall-hadoop-ozone.txt
compile https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/branch-compile-hadoop-hdds.txt
compile https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/branch-compile-hadoop-ozone.txt
checkstyle https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out//home/jenkins/jenkins-slave/workspace/hadoop-multibranch_PR-1065/out/maven-branch-checkstyle-hadoop-ozone.txt
mvninstall https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/patch-mvninstall-hadoop-ozone.txt
compile https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/patch-compile-hadoop-ozone.txt
javac https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/diff-compile-javac-hadoop-hdds.txt
javac https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/patch-compile-hadoop-ozone.txt
shellcheck https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/diff-patch-shellcheck.txt
whitespace https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/whitespace-eol.txt
whitespace https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/whitespace-tabs.txt
findbugs https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/patch-findbugs-hadoop-ozone.txt
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/testReport/
Max. process+thread count 5399 (vs. ulimit of 5500)
modules C: hadoop-ozone/client hadoop-ozone/dist hadoop-ozone/ozonefs hadoop-ozone/ozonefs-lib-legacy U: hadoop-ozone
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/1/console
versions git=2.7.4 maven=3.3.9 shellcheck=0.4.6 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 32 Docker mode activated.
_ Prechecks _
+1 dupname 1 No case conflicting files found.
0 shelldocs 0 Shelldocs was not available.
0 yamllint 0 yamllint was not available.
+1 @author 0 The patch does not contain any @author tags.
-1 test4tests 0 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 mvndep 44 Maven dependency ordering for branch
+1 mvninstall 489 trunk passed
+1 compile 259 trunk passed
+1 checkstyle 68 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 725 branch has no errors when building and testing our client artifacts.
+1 javadoc 155 trunk passed
0 spotbugs 322 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 519 trunk passed
_ Patch Compile Tests _
0 mvndep 24 Maven dependency ordering for patch
+1 mvninstall 443 the patch passed
+1 compile 266 the patch passed
+1 javac 266 the patch passed
+1 checkstyle 77 the patch passed
+1 mvnsite 0 the patch passed
-1 shellcheck 1 The patch generated 3 new + 0 unchanged - 0 fixed = 3 total (was 0)
+1 whitespace 0 The patch has no whitespace issues.
+1 xml 2 The patch has no ill-formed XML file.
+1 shadedclient 638 patch has no errors when building and testing our client artifacts.
+1 javadoc 156 the patch passed
+1 findbugs 530 the patch passed
_ Other Tests _
+1 unit 271 hadoop-hdds in the patch passed.
-1 unit 1765 hadoop-ozone in the patch failed.
+1 asflicense 48 The patch does not generate ASF License warnings.
6768
Reason Tests
Failed junit tests hadoop.ozone.client.rpc.TestKeyInputStream
hadoop.ozone.client.rpc.TestOzoneAtRestEncryption
hadoop.ozone.web.client.TestKeys
hadoop.ozone.om.TestOzoneManager
hadoop.hdds.scm.pipeline.TestRatisPipelineCreateAndDestory
hadoop.ozone.client.rpc.TestSecureOzoneRpcClient
hadoop.ozone.client.rpc.TestOzoneRpcClientWithRatis
hadoop.ozone.client.rpc.TestBlockOutputStream
Subsystem Report/Notes
Docker Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/2/artifact/out/Dockerfile
GITHUB PR #1065
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle shellcheck shelldocs yamllint xml
uname Linux 72bf927e33d4 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 8861573
Default Java 1.8.0_212
shellcheck https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/2/artifact/out/diff-patch-shellcheck.txt
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/2/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/2/testReport/
Max. process+thread count 4226 (vs. ulimit of 5500)
modules C: hadoop-ozone/client hadoop-ozone/dist hadoop-ozone/ozonefs hadoop-ozone/ozonefs-lib-legacy U: hadoop-ozone
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/2/console
versions git=2.7.4 maven=3.3.9 shellcheck=0.4.6 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 32 Docker mode activated.
_ Prechecks _
+1 dupname 1 No case conflicting files found.
0 shelldocs 0 Shelldocs was not available.
0 yamllint 0 yamllint was not available.
+1 @author 0 The patch does not contain any @author tags.
-1 test4tests 0 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 mvndep 13 Maven dependency ordering for branch
+1 mvninstall 492 trunk passed
+1 compile 272 trunk passed
+1 checkstyle 80 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 776 branch has no errors when building and testing our client artifacts.
+1 javadoc 177 trunk passed
0 spotbugs 327 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 533 trunk passed
_ Patch Compile Tests _
0 mvndep 22 Maven dependency ordering for patch
+1 mvninstall 427 the patch passed
+1 compile 253 the patch passed
+1 javac 253 the patch passed
+1 checkstyle 75 the patch passed
+1 mvnsite 0 the patch passed
-1 shellcheck 0 The patch generated 3 new + 0 unchanged - 0 fixed = 3 total (was 0)
+1 whitespace 0 The patch has no whitespace issues.
+1 xml 2 The patch has no ill-formed XML file.
+1 shadedclient 611 patch has no errors when building and testing our client artifacts.
+1 javadoc 153 the patch passed
+1 findbugs 515 the patch passed
_ Other Tests _
+1 unit 247 hadoop-hdds in the patch passed.
-1 unit 1890 hadoop-ozone in the patch failed.
+1 asflicense 44 The patch does not generate ASF License warnings.
6866
Reason Tests
Failed junit tests hadoop.ozone.client.rpc.TestOzoneRpcClientWithRatis
hadoop.ozone.client.rpc.TestOzoneAtRestEncryption
hadoop.ozone.client.rpc.TestCommitWatcher
hadoop.ozone.client.rpc.TestOzoneRpcClient
hadoop.ozone.TestMiniChaosOzoneCluster
Subsystem Report/Notes
Docker Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/3/artifact/out/Dockerfile
GITHUB PR #1065
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle shellcheck shelldocs yamllint xml
uname Linux 8d4c2e11d049 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 8861573
Default Java 1.8.0_212
shellcheck https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/3/artifact/out/diff-patch-shellcheck.txt
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/3/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/3/testReport/
Max. process+thread count 4502 (vs. ulimit of 5500)
modules C: hadoop-ozone/client hadoop-ozone/dist hadoop-ozone/ozonefs hadoop-ozone/ozonefs-lib-legacy U: hadoop-ozone
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1065/3/console
versions git=2.7.4 maven=3.3.9 shellcheck=0.4.6 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@xiaoyuyao
Copy link
Contributor

Thanks @elek for the patch. It looks pretty good to me. +1

@elek
Copy link
Member Author

elek commented Jul 10, 2019

Thanks the review @xiaoyuyao (and the initial fix for the problem).

I rebased the version, will commit it soon.

Tested again locally and all the mr tests are passed.

@elek elek merged commit bbf5844 into apache:trunk Jul 10, 2019
elek added a commit that referenced this pull request Jul 10, 2019
shanthoosh pushed a commit to shanthoosh/hadoop that referenced this pull request Oct 15, 2019
…onfigs

Author: Prateek Maheshwari <pmaheshwari@apache.org>

Reviewers: Ray Matharu <rmatharu@linkedin.com>, Cameron Lee <calee@linkedin.com>

Closes apache#1065 from prateekm/allow-task-inputs-override
amahussein pushed a commit to amahussein/hadoop that referenced this pull request Oct 29, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants