[ 
https://issues.apache.org/jira/browse/HADOOP-19019?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17879782#comment-17879782
 ] 

ASF GitHub Bot commented on HADOOP-19019:
-----------------------------------------

hadoop-yetus commented on PR #7027:
URL: https://github.com/apache/hadoop/pull/7027#issuecomment-2333360201

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |:----:|----------:|--------:|:--------:|:-------:|
   | +0 :ok: |  reexec  |   0m 19s |  |  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 :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.  
|
   |||| _ branch-3.4 Compile Tests _ |
   | +0 :ok: |  mvndep  |   4m 15s |  |  Maven dependency ordering for branch  |
   | -1 :x: |  mvninstall  |   5m 12s | 
[/branch-mvninstall-root.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/branch-mvninstall-root.txt)
 |  root in branch-3.4 failed.  |
   | +1 :green_heart: |  compile  |  15m 50s |  |  branch-3.4 passed with JDK 
Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04  |
   | +1 :green_heart: |  compile  |   8m 15s |  |  branch-3.4 passed with JDK 
Private Build-1.8.0_422-8u422-b05-1~20.04-b05  |
   | -1 :x: |  mvnsite  |   0m 28s | 
[/branch-mvnsite-hadoop-mapreduce-project.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/branch-mvnsite-hadoop-mapreduce-project.txt)
 |  hadoop-mapreduce-project in branch-3.4 failed.  |
   | -1 :x: |  mvnsite  |   0m 41s | 
[/branch-mvnsite-hadoop-yarn-project.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/branch-mvnsite-hadoop-yarn-project.txt)
 |  hadoop-yarn-project in branch-3.4 failed.  |
   | -1 :x: |  javadoc  |   0m 27s | 
[/branch-javadoc-hadoop-mapreduce-project-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/branch-javadoc-hadoop-mapreduce-project-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt)
 |  hadoop-mapreduce-project in branch-3.4 failed with JDK 
Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.  |
   | -1 :x: |  javadoc  |   0m 42s | 
[/branch-javadoc-hadoop-yarn-project-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/branch-javadoc-hadoop-yarn-project-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt)
 |  hadoop-yarn-project in branch-3.4 failed with JDK 
Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.  |
   | -1 :x: |  javadoc  |   0m 25s | 
[/branch-javadoc-hadoop-mapreduce-project-jdkPrivateBuild-1.8.0_422-8u422-b05-1~20.04-b05.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/branch-javadoc-hadoop-mapreduce-project-jdkPrivateBuild-1.8.0_422-8u422-b05-1~20.04-b05.txt)
 |  hadoop-mapreduce-project in branch-3.4 failed with JDK Private 
Build-1.8.0_422-8u422-b05-1~20.04-b05.  |
   | -1 :x: |  javadoc  |   0m 37s | 
[/branch-javadoc-hadoop-yarn-project-jdkPrivateBuild-1.8.0_422-8u422-b05-1~20.04-b05.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/branch-javadoc-hadoop-yarn-project-jdkPrivateBuild-1.8.0_422-8u422-b05-1~20.04-b05.txt)
 |  hadoop-yarn-project in branch-3.4 failed with JDK Private 
Build-1.8.0_422-8u422-b05-1~20.04-b05.  |
   | +1 :green_heart: |  shadedclient  |  57m 47s |  |  branch has no errors 
when building and testing our client artifacts.  |
   |||| _ Patch Compile Tests _ |
   | +0 :ok: |  mvndep  |   0m 12s |  |  Maven dependency ordering for patch  |
   | -1 :x: |  mvninstall  |   0m 10s | 
[/patch-mvninstall-hadoop-mapreduce-project.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/patch-mvninstall-hadoop-mapreduce-project.txt)
 |  hadoop-mapreduce-project in the patch failed.  |
   | -1 :x: |  mvninstall  |   0m 26s | 
[/patch-mvninstall-hadoop-yarn-project.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/patch-mvninstall-hadoop-yarn-project.txt)
 |  hadoop-yarn-project in the patch failed.  |
   | +1 :green_heart: |  compile  |   8m 30s |  |  the patch passed with JDK 
Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04  |
   | +1 :green_heart: |  javac  |   8m 30s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   8m 12s |  |  the patch passed with JDK 
Private Build-1.8.0_422-8u422-b05-1~20.04-b05  |
   | +1 :green_heart: |  javac  |   8m 12s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -1 :x: |  mvnsite  |   0m 25s | 
[/patch-mvnsite-hadoop-mapreduce-project.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/patch-mvnsite-hadoop-mapreduce-project.txt)
 |  hadoop-mapreduce-project in the patch failed.  |
   | -1 :x: |  mvnsite  |   0m 39s | 
[/patch-mvnsite-hadoop-yarn-project.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/patch-mvnsite-hadoop-yarn-project.txt)
 |  hadoop-yarn-project in the patch failed.  |
   | -1 :x: |  javadoc  |   0m 25s | 
[/patch-javadoc-hadoop-mapreduce-project-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/patch-javadoc-hadoop-mapreduce-project-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt)
 |  hadoop-mapreduce-project in the patch failed with JDK 
Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.  |
   | -1 :x: |  javadoc  |   0m 37s | 
[/patch-javadoc-hadoop-yarn-project-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/patch-javadoc-hadoop-yarn-project-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt)
 |  hadoop-yarn-project in the patch failed with JDK 
Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.  |
   | -1 :x: |  javadoc  |   0m 25s | 
[/patch-javadoc-hadoop-mapreduce-project-jdkPrivateBuild-1.8.0_422-8u422-b05-1~20.04-b05.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/patch-javadoc-hadoop-mapreduce-project-jdkPrivateBuild-1.8.0_422-8u422-b05-1~20.04-b05.txt)
 |  hadoop-mapreduce-project in the patch failed with JDK Private 
Build-1.8.0_422-8u422-b05-1~20.04-b05.  |
   | -1 :x: |  javadoc  |   0m 37s | 
[/patch-javadoc-hadoop-yarn-project-jdkPrivateBuild-1.8.0_422-8u422-b05-1~20.04-b05.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/patch-javadoc-hadoop-yarn-project-jdkPrivateBuild-1.8.0_422-8u422-b05-1~20.04-b05.txt)
 |  hadoop-yarn-project in the patch failed with JDK Private 
Build-1.8.0_422-8u422-b05-1~20.04-b05.  |
   | +1 :green_heart: |  shadedclient  |  24m 59s |  |  patch has no errors 
when building and testing our client artifacts.  |
   |||| _ Other Tests _ |
   | -1 :x: |  unit  |   0m 26s | 
[/patch-unit-hadoop-mapreduce-project.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/patch-unit-hadoop-mapreduce-project.txt)
 |  hadoop-mapreduce-project in the patch failed.  |
   | -1 :x: |  unit  |   2m 25s | 
[/patch-unit-hadoop-yarn-project.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/patch-unit-hadoop-yarn-project.txt)
 |  hadoop-yarn-project in the patch failed.  |
   | +1 :green_heart: |  asflicense  |   0m 38s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   | 105m 19s |  |  |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.47 ServerAPI=1.47 base: 
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/artifact/out/Dockerfile
 |
   | GITHUB PR | https://github.com/apache/hadoop/pull/7027 |
   | Optional Tests | dupname asflicense compile javac javadoc mvninstall 
mvnsite unit shadedclient codespell detsecrets xmllint |
   | uname | Linux 29417fd944d3 5.15.0-117-generic #127-Ubuntu SMP Fri Jul 5 
20:13:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/bin/hadoop.sh |
   | git revision | branch-3.4 / 54da8b1929f29087710dc9cafaceeec32434f011 |
   | Default Java | Private Build-1.8.0_422-8u422-b05-1~20.04-b05 |
   | Multi-JDK versions | 
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04 
/usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_422-8u422-b05-1~20.04-b05 
|
   |  Test Results | 
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/testReport/ |
   | Max. process+thread count | 647 (vs. ulimit of 5500) |
   | modules | C: hadoop-mapreduce-project hadoop-yarn-project U: . |
   | Console output | 
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7027/5/console |
   | versions | git=2.25.1 maven=3.6.3 |
   | Powered by | Apache Yetus 0.14.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   




> Parallel Maven Build Support for Apache Hadoop
> ----------------------------------------------
>
>                 Key: HADOOP-19019
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19019
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: build
>            Reporter: Jialiang Cai
>            Assignee: Jialiang Cai
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.5.0
>
>         Attachments: patch11-HDFS-17287.diff
>
>
> The reason for the slow compilation: The Hadoop project has many modules, and 
> the inability to compile them in parallel results in a slow process. For 
> instance, the first compilation of Hadoop might take several hours, and even 
> with local Maven dependencies, a subsequent compilation can still take close 
> to 40 minutes, which is very slow.
> How to solve it: Use {{mvn dependency:tree}} and {{maven-to-plantuml}} to 
> investigate the dependency issues that prevent parallel compilation.
>  * Investigate the dependencies between project modules.
>  * Analyze the dependencies in multi-module Maven projects.
>  * Download {{{}maven-to-plantuml{}}}:
>  
> {{wget 
> [https://github.com/phxql/maven-to-plantuml/releases/download/v1.0/maven-to-plantuml-1.0.jar]}}
>  * Generate a dependency tree:
>  
> {{mvn dependency:tree > dep.txt}}
>  * Generate a UML diagram from the dependency tree:
>  
> {{java -jar maven-to-plantuml.jar --input dep.txt --output dep.puml}}
> For more information, visit: [maven-to-plantuml GitHub 
> repository|https://github.com/phxql/maven-to-plantuml/tree/master].
>  
> *Hadoop Parallel Compilation Submission Logic*
>  # Reasons for Parallel Compilation Failure
>  * 
>  ** In sequential compilation, as modules are compiled one by one in order, 
> there are no errors because the compilation follows the module sequence.
>  ** However, in parallel compilation, all modules are compiled 
> simultaneously. The compilation order during multi-module concurrent 
> compilation depends on the inter-module dependencies. If Module A depends on 
> Module B, then Module B will be compiled before Module A. This ensures that 
> the compilation order follows the dependencies between modules.
> But when Hadoop compiles in parallel, for example, compiling 
> {{{}hadoop-yarn-project{}}}, the dependencies between modules are correct. 
> The issue arises during the dist package stage. {{dist}} packages all other 
> compiled modules.
> *Behavior of {{hadoop-yarn-project}} in Serial Compilation:*
>  * 
>  ** In serial compilation, it compiles modules in the pom one by one in 
> sequence. After all modules are compiled, it compiles 
> {{{}hadoop-yarn-project{}}}. During the {{prepare-package}} stage, the 
> {{maven-assembly-plugin}} plugin is executed for packaging. All packages are 
> repackaged according to the description in 
> {{{}hadoop-assemblies/src/main/resources/assemblies/hadoop-yarn-dist.xml{}}}.
> *Behavior of {{hadoop-yarn-project}} in Parallel Compilation:*
>  * 
>  ** Parallel compilation compiles modules according to the dependency order 
> among them. If modules do not declare dependencies on each other through 
> {{{}dependency{}}}, they are compiled in parallel. According to the 
> dependency definition in the pom of {{{}hadoop-yarn-project{}}}, the 
> dependencies are compiled first, followed by {{{}hadoop-yarn-project{}}}, 
> executing its {{{}maven-assembly-plugin{}}}.
>  ** However, the files needed for packaging in 
> {{hadoop-assemblies/src/main/resources/assemblies/hadoop-yarn-dist.xml}} are 
> not all included in the {{dependency}} of {{{}hadoop-yarn-project{}}}. 
> Therefore, when compiling {{hadoop-yarn-project}} and executing 
> {{{}maven-assembly-plugin{}}}, not all required modules are built yet, 
> leading to errors in parallel compilation.
> *Solution:*
>  * 
>  ** The solution is relatively straightforward: organize all modules from 
> {{{}hadoop-assemblies/src/main/resources/assemblies/hadoop-yarn-dist.xml{}}}, 
> and then declare them as dependencies in the pom of 
> {{{}hadoop-yarn-project{}}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to