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

HBASE-27340 Artifacts with resolved profiles #4740

Merged
merged 1 commit into from
Sep 2, 2022

Conversation

saintstack
Copy link
Contributor

Make it so our published poms carry the minimum needed to run
an hbase; the published pom has no profiles -- the profiles
specified at build time are resolved, their dependencies inlined,
and then they are stripped -- and no build-time, or plugins
dependencies or properties, etc. Resultant poms have explicit
hadoop lib versions baked in -- no more being able to choose
hbase with hadoop2 or haddop3 at downstream build time by setting
a '-Dhadoop.profile=X.0'.

Pattern is to add profiles when none in sub-modules when
the flatten plugin complains it can't resolve an hadoop
dependency's 'version' (e.g. hadoop-common, hadoop-hdfs).
Adding the hadoop-2.0 and hadoop-3.0 profiles in the sub-module
make it so the flatten plugin can figure 'hadoop.version'
definitively.

Another spin on the above happens when profiles already exist
in submodule but the flatten plugin is complaining it can't
figure figure version on an hadoop dependency NOT under
profiles. Below, we move the delinquent hadoop dependency under
existing profiles (minikdc was the usual dependency outside
profiles in sub-modules that flatten complained about).

Sometimes, moving an hadoop dependency under a profile, there
would be excludes on the local dependency. If the parent pom
excludes section was missing the local excludes, we added them
up to the parent module so all excluding is done up there in
the parent profile dependencyManagement section.

  • hbase-asyncfs/pom.xml

  • hbase-endpoint/pom.xml

  • hbase-examples/pom.xml

  • hbase-http/pom.xml

  • hbase-rest/pom.xml

  • hbase-server/pom.xml
    Move the minikdc under profiles so it picks up appropriate hadoop version
    when the flatten plugin runs.

  • hbase-hadoop2-compat/pom.xml
    Add hadoop2 and hadoop3 profiles and move hadoop-common, etc.
    under them so we pick up appropriate hadoop version when flatten
    plugin runs.

  • hbase-mapreduce/pom.xml
    Move hadoop dependencies under profiles so right version is
    available when the flatten plugin runs.

  • hbase-shaded/hbase-shaded-testing-util/pom.xml
    Add profiles for hadoop-2.0 and hadoop-3.0 and move the
    hadoop dependencies under them.

pom.xml
Add the flatten plugin with the flatten profiles enabled.
Add a few excludes on hadoop profiles picked up from sub-modules.
E.g. exclude bouncycastle bcprov-jdk15 when we include minikdc.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 10s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ branch-2.5 Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for branch
+1 💚 mvninstall 2m 21s branch-2.5 passed
+1 💚 compile 6m 26s branch-2.5 passed
-1 ❌ spotless 0m 9s branch has 60 errors when running spotless:check, run spotless:apply to fix.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 2m 11s the patch passed
+1 💚 compile 6m 22s the patch passed
+1 💚 javac 6m 22s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 xml 0m 7s The patch has no ill-formed XML file.
+1 💚 hadoopcheck 11m 52s Patch does not cause any errors with Hadoop 2.10.2 or 3.2.4 3.3.4.
-1 ❌ spotless 0m 8s patch has 60 errors when running spotless:check, run spotless:apply to fix.
_ Other Tests _
+1 💚 asflicense 1m 35s The patch does not generate ASF License warnings.
38m 44s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #4740
Optional Tests dupname asflicense javac hadoopcheck spotless xml compile
uname Linux a2272c12c6cb 5.4.0-124-generic #140-Ubuntu SMP Thu Aug 4 02:23:37 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision branch-2.5 / 13841f5
Default Java AdoptOpenJDK-1.8.0_282-b08
spotless https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/artifact/yetus-general-check/output/branch-spotless.txt
spotless https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count 139 (vs. ulimit of 30000)
modules C: hbase-hadoop2-compat hbase-http hbase-asyncfs hbase-server hbase-mapreduce hbase-endpoint hbase-rest hbase-examples hbase-shaded/hbase-shaded-testing-util . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 53s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ branch-2.5 Compile Tests _
+0 🆗 mvndep 0m 20s Maven dependency ordering for branch
+1 💚 mvninstall 2m 57s branch-2.5 passed
+1 💚 compile 1m 43s branch-2.5 passed
+1 💚 shadedjars 4m 8s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 39s branch-2.5 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for patch
+1 💚 mvninstall 2m 35s the patch passed
+1 💚 compile 1m 43s the patch passed
+1 💚 javac 1m 43s the patch passed
+1 💚 shadedjars 4m 3s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 34s the patch passed
_ Other Tests _
+1 💚 unit 230m 20s root in the patch passed.
260m 1s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #4740
Optional Tests javac javadoc unit shadedjars compile
uname Linux c9cd75830b93 5.4.0-1081-aws #88~18.04.1-Ubuntu SMP Thu Jun 23 16:29:17 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision branch-2.5 / 13841f5
Default Java AdoptOpenJDK-11.0.10+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/testReport/
Max. process+thread count 4715 (vs. ulimit of 30000)
modules C: hbase-hadoop2-compat hbase-http hbase-asyncfs hbase-server hbase-mapreduce hbase-endpoint hbase-rest hbase-examples hbase-shaded/hbase-shaded-testing-util . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@Apache9 Apache9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The patch looks great.

On master branch, since we only support hadoop 3, I'm not sure whether we should keep the profile and then use the flatten plugin, or we just remove the profile and move the hadoop dependencies to the dependencies section directly.

@@ -154,11 +154,6 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is for moving all the hadoop related dependencies to hadoop-2.0 profile or hadoop-3.0 profile?

</dependencies>
</profile>
<!--
profile for building against Hadoop 3.0.x. Activate using:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'Hadoop 3.0.x' -> 'Hadoop 3.x'

</dependencies>
</profile>
<!--
profile for building against Hadoop 3.0.0. Activate using:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hadoop 3.x

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will fix in next push...

pom.xml Outdated
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<!--<version>1.3.0</version>-->
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is because the version has been declared in the parent apache pom?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use 'latest'. Will set it to 1.3.0 explicitly next go around.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have mixed feelings about manually managing plugin versions but agree it is best on balance. In our own internal builds we need to manage things up sometimes and the version property definitions for plugin versions are helpful for that. Other downstreamers will have a similar experience I suspect.

pom.xml Show resolved Hide resolved
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 54s Docker mode activated.
-0 ⚠️ yetus 0m 6s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ branch-2.5 Compile Tests _
+0 🆗 mvndep 0m 20s Maven dependency ordering for branch
+1 💚 mvninstall 2m 39s branch-2.5 passed
+1 💚 compile 1m 34s branch-2.5 passed
+1 💚 shadedjars 4m 4s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 14s branch-2.5 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 2m 17s the patch passed
+1 💚 compile 1m 33s the patch passed
+1 💚 javac 1m 33s the patch passed
+1 💚 shadedjars 4m 8s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 17s the patch passed
_ Other Tests _
-1 ❌ unit 351m 28s root in the patch failed.
379m 27s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR #4740
Optional Tests javac javadoc unit shadedjars compile
uname Linux 6aa6b8f46615 5.4.0-1083-aws #90~18.04.1-Ubuntu SMP Fri Aug 5 08:12:44 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision branch-2.5 / 13841f5
Default Java AdoptOpenJDK-1.8.0_282-b08
unit https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/artifact/yetus-jdk8-hadoop2-check/output/patch-unit-root.txt
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/testReport/
Max. process+thread count 4738 (vs. ulimit of 30000)
modules C: hbase-hadoop2-compat hbase-http hbase-asyncfs hbase-server hbase-mapreduce hbase-endpoint hbase-rest hbase-examples hbase-shaded/hbase-shaded-testing-util . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@apurtell
Copy link
Contributor

Approved pending clean spotless check and successful test run.

Current failures are relevant to this change e.g.

java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider 

@saintstack
Copy link
Contributor Author

Let me fix the failure.

For master branch, +1 on removing hadoop profiles, etc. but I'd think we'd still want this patch too because hadoop is not only profile and even if no profiles, the published poms are slim w/ runtime-only dependencies w/ explicit versions filled in.

@Apache9
Copy link
Contributor

Apache9 commented Aug 31, 2022

Let me fix the failure.

For master branch, +1 on removing hadoop profiles, etc. but I'd think we'd still want this patch too because hadoop is not only profile and even if no profiles, the published poms are slim w/ runtime-only dependencies w/ explicit versions filled in.

+1

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ patch 0m 4s #4740 does not apply to branch-2.5. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #4740
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/2/console
versions git=2.25.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

1 similar comment
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ patch 0m 4s #4740 does not apply to branch-2.5. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #4740
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/2/console
versions git=2.25.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ patch 0m 6s #4740 does not apply to branch-2.5. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #4740
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/2/console
versions git=2.25.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@saintstack
Copy link
Contributor Author

RELEASENOTE changes come of my running spotless locally.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ patch 0m 4s #4740 does not apply to branch-2.5. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #4740
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/3/console
versions git=2.17.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ patch 0m 3s #4740 does not apply to branch-2.5. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #4740
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/3/console
versions git=2.25.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ patch 0m 5s #4740 does not apply to branch-2.5. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #4740
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/3/console
versions git=2.25.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ patch 0m 5s #4740 does not apply to branch-2.5. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #4740
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/4/console
versions git=2.25.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

1 similar comment
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ patch 0m 5s #4740 does not apply to branch-2.5. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #4740
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/4/console
versions git=2.25.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ patch 0m 4s #4740 does not apply to branch-2.5. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #4740
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/4/console
versions git=2.17.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ patch 0m 5s #4740 does not apply to branch-2.5. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #4740
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/5/console
versions git=2.25.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

1 similar comment
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ patch 0m 5s #4740 does not apply to branch-2.5. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #4740
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/5/console
versions git=2.25.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ patch 0m 5s #4740 does not apply to branch-2.5. Rebase required? Wrong Branch? See https://yetus.apache.org/documentation/in-progress/precommit-patchnames for help.
Subsystem Report/Notes
GITHUB PR #4740
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/5/console
versions git=2.17.1
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

    Make it so our published poms carry the minimum needed to run
    an hbase; the published pom has no profiles -- the profiles
    specified at build time are resolved, their dependencies inlined,
    and then they are stripped -- and no build-time, or plugins
    dependencies or properties, etc. Resultant poms have explicit
    hadoop lib versions baked in -- no more being able to choose
    hbase with hadoop2 or haddop3 at downstream build time by setting
    a '-Dhadoop.profile=X.0'.

    Pattern is to add profiles when none in sub-modules when
    the flatten plugin complains it can't resolve an hadoop
    dependency's 'version' (e.g. hadoop-common, hadoop-hdfs).
    Adding the hadoop-2.0 and hadoop-3.0 profiles in the sub-module
    make it so the flatten plugin can figure 'hadoop.version'
    definitively.

    Another spin on the above happens when profiles already exist
    in submodule but the flatten plugin is complaining it can't
    figure figure version on an hadoop dependency NOT under
    profiles. Below, we move the delinquent hadoop dependency under
    existing profiles (minikdc was the usual dependency outside
    profiles in sub-modules that flatten complained about).

    Sometimes, moving an hadoop dependency under a profile, there
    would be excludes on the local dependency. If the parent pom
    excludes section was missing the local excludes, we added them
    up to the parent module so all excluding is done up there in
    the parent profile dependencyManagement section.

    * hbase-asyncfs/pom.xml
    * hbase-endpoint/pom.xml
    * hbase-examples/pom.xml
    * hbase-http/pom.xml
    * hbase-rest/pom.xml
    * hbase-server/pom.xml
     Move the minikdc under profiles so it picks up appropriate hadoop version
     when the flatten plugin runs.

    * hbase-hadoop2-compat/pom.xml
     Add hadoop2 and hadoop3 profiles and move hadoop-common, etc.
     under them so we pick up appropriate hadoop version when flatten
     plugin runs.

    * hbase-mapreduce/pom.xml
     Move hadoop dependencies under profiles so right version is
     available when the flatten plugin runs.

    * hbase-shaded/hbase-shaded-testing-util/pom.xml
     Add profiles for hadoop-2.0 and hadoop-3.0 and move the
     hadoop dependencies under them.

    pom.xml
     Add the flatten plugin with the flatten profiles enabled.
     Add a few excludes on hadoop profiles picked up from sub-modules.
     E.g. exclude bouncycastle bcprov-jdk15 when we include minikdc.
@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 1m 4s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ branch-2.5 Compile Tests _
+0 🆗 mvndep 0m 24s Maven dependency ordering for branch
+1 💚 mvninstall 2m 13s branch-2.5 passed
+1 💚 compile 6m 20s branch-2.5 passed
+1 💚 spotless 0m 38s branch has no errors when running spotless:check.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 2m 6s the patch passed
+1 💚 compile 6m 15s the patch passed
+1 💚 javac 6m 15s the patch passed
+1 💚 whitespace 0m 0s The patch has no whitespace issues.
+1 💚 xml 0m 7s The patch has no ill-formed XML file.
+1 💚 hadoopcheck 11m 43s Patch does not cause any errors with Hadoop 2.10.2 or 3.2.4 3.3.4.
+1 💚 spotless 0m 39s patch has no errors when running spotless:check.
_ Other Tests _
+1 💚 asflicense 1m 32s The patch does not generate ASF License warnings.
39m 18s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #4740
Optional Tests dupname asflicense javac hadoopcheck spotless xml compile
uname Linux df553970a8bf 5.4.0-124-generic #140-Ubuntu SMP Thu Aug 4 02:23:37 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision branch-2.5 / 81ba123
Default Java AdoptOpenJDK-1.8.0_282-b08
Max. process+thread count 141 (vs. ulimit of 30000)
modules C: hbase-hadoop2-compat hbase-http hbase-asyncfs hbase-server hbase-mapreduce hbase-endpoint hbase-rest hbase-examples hbase-shaded/hbase-shaded-testing-util . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 0m 52s Docker mode activated.
-0 ⚠️ yetus 0m 4s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ branch-2.5 Compile Tests _
+0 🆗 mvndep 0m 44s Maven dependency ordering for branch
+1 💚 mvninstall 2m 38s branch-2.5 passed
+1 💚 compile 1m 45s branch-2.5 passed
+1 💚 shadedjars 4m 2s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 32s branch-2.5 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 2m 36s the patch passed
+1 💚 compile 1m 43s the patch passed
+1 💚 javac 1m 43s the patch passed
+1 💚 shadedjars 4m 4s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 35s the patch passed
_ Other Tests _
+1 💚 unit 236m 19s root in the patch passed.
265m 54s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #4740
Optional Tests javac javadoc unit shadedjars compile
uname Linux e654f66d52b2 5.4.0-1081-aws #88~18.04.1-Ubuntu SMP Thu Jun 23 16:29:17 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision branch-2.5 / 81ba123
Default Java AdoptOpenJDK-11.0.10+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/testReport/
Max. process+thread count 4741 (vs. ulimit of 30000)
modules C: hbase-hadoop2-compat hbase-http hbase-asyncfs hbase-server hbase-mapreduce hbase-endpoint hbase-rest hbase-examples hbase-shaded/hbase-shaded-testing-util . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 6m 11s Docker mode activated.
-0 ⚠️ yetus 0m 5s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ branch-2.5 Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for branch
+1 💚 mvninstall 2m 16s branch-2.5 passed
+1 💚 compile 1m 35s branch-2.5 passed
+1 💚 shadedjars 3m 42s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 15s branch-2.5 passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 15s Maven dependency ordering for patch
+1 💚 mvninstall 2m 4s the patch passed
+1 💚 compile 1m 31s the patch passed
+1 💚 javac 1m 31s the patch passed
+1 💚 shadedjars 3m 39s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 22s the patch passed
_ Other Tests _
+1 💚 unit 327m 50s root in the patch passed.
359m 28s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile
GITHUB PR #4740
Optional Tests javac javadoc unit shadedjars compile
uname Linux ab77db5ce40e 5.4.0-124-generic #140-Ubuntu SMP Thu Aug 4 02:23:37 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision branch-2.5 / 81ba123
Default Java AdoptOpenJDK-1.8.0_282-b08
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/testReport/
Max. process+thread count 3928 (vs. ulimit of 30000)
modules C: hbase-hadoop2-compat hbase-http hbase-asyncfs hbase-server hbase-mapreduce hbase-endpoint hbase-rest hbase-examples hbase-shaded/hbase-shaded-testing-util . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/console
versions git=2.17.1 maven=3.6.3
Powered by Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@saintstack saintstack merged commit 71cf98f into apache:branch-2.5 Sep 2, 2022
saintstack added a commit that referenced this pull request Sep 2, 2022
Make it so our published poms carry the minimum needed to run
    an hbase; the published pom has no profiles -- the profiles
    specified at build time are resolved, their dependencies inlined,
    and then they are stripped -- and no build-time, or plugins
    dependencies or properties, etc. Resultant poms have explicit
    hadoop lib versions baked in -- no more being able to choose
    hbase with hadoop2 or haddop3 at downstream build time by setting
    a '-Dhadoop.profile=X.0'.

    Pattern is to add profiles when none in sub-modules when
    the flatten plugin complains it can't resolve an hadoop
    dependency's 'version' (e.g. hadoop-common, hadoop-hdfs).
    Adding the hadoop-2.0 and hadoop-3.0 profiles in the sub-module
    make it so the flatten plugin can figure 'hadoop.version'
    definitively.

    Another spin on the above happens when profiles already exist
    in submodule but the flatten plugin is complaining it can't
    figure figure version on an hadoop dependency NOT under
    profiles. Below, we move the delinquent hadoop dependency under
    existing profiles (minikdc was the usual dependency outside
    profiles in sub-modules that flatten complained about).

    Sometimes, moving an hadoop dependency under a profile, there
    would be excludes on the local dependency. If the parent pom
    excludes section was missing the local excludes, we added them
    up to the parent module so all excluding is done up there in
    the parent profile dependencyManagement section.

    * hbase-asyncfs/pom.xml
    * hbase-endpoint/pom.xml
    * hbase-examples/pom.xml
    * hbase-http/pom.xml
    * hbase-rest/pom.xml
    * hbase-server/pom.xml
     Move the minikdc under profiles so it picks up appropriate hadoop version
     when the flatten plugin runs.

    * hbase-hadoop2-compat/pom.xml
     Add hadoop2 and hadoop3 profiles and move hadoop-common, etc.
     under them so we pick up appropriate hadoop version when flatten
     plugin runs.

    * hbase-mapreduce/pom.xml
     Move hadoop dependencies under profiles so right version is
     available when the flatten plugin runs.

    * hbase-shaded/hbase-shaded-testing-util/pom.xml
     Add profiles for hadoop-2.0 and hadoop-3.0 and move the
     hadoop dependencies under them.

    pom.xml
     Add the flatten plugin with the flatten profiles enabled.
     Add a few excludes on hadoop profiles picked up from sub-modules.
     E.g. exclude bouncycastle bcprov-jdk15 when we include minikdc.

Signed-off-by: Andrew Purtell <[email protected]>
Signed-off-by: Duo Zhang <[email protected]>
saintstack added a commit to saintstack/hbase that referenced this pull request Sep 3, 2022
(Forward port from branch-2; simplified by the fact that there
is no hadoop-2.0 profile on master branch)

    Make it so our published poms carry the minimum needed to run
    an hbase; the published pom has no profiles -- the profiles
    specified at build time are resolved, their dependencies inlined,
    and then they are stripped -- and no build-time, or plugins
    dependencies or properties, etc. Resultant poms have explicit
    hadoop lib versions baked in -- no more being able to choose
    hbase with hadoop2 or haddop3 at downstream build time by setting
    a '-Dhadoop.profile=X.0'.

    Pattern is to add profiles when none in sub-modules when
    the flatten plugin complains it can't resolve an hadoop
    dependency's 'version' (e.g. hadoop-common, hadoop-hdfs).
    Adding the profile in the sub-module make it so the flatten
    plugin can figure 'hadoop.version' definitively.
    (In master there is only the hadoop-3.0 profile).

    Another spin on the above happens when profiles already exist
    in submodule but the flatten plugin is complaining it can't
    figure figure version on an hadoop dependency NOT under
    profiles. Below, we move the delinquent hadoop dependency under
    existing profiles (minikdc was the usual dependency outside
    profiles in sub-modules that flatten complained about).

    Sometimes, moving an hadoop dependency under a profile, there
    would be excludes on the local dependency. If the parent pom
    excludes section was missing the local excludes, we added them
    up to the parent module so all excluding is done up there in
    the parent profile dependencyManagement section.
Apache9 pushed a commit that referenced this pull request Sep 6, 2022
(Forward port from branch-2; simplified by the fact that there
is no hadoop-2.0 profile on master branch)

    Make it so our published poms carry the minimum needed to run
    an hbase; the published pom has no profiles -- the profiles
    specified at build time are resolved, their dependencies inlined,
    and then they are stripped -- and no build-time, or plugins
    dependencies or properties, etc. Resultant poms have explicit
    hadoop lib versions baked in -- no more being able to choose
    hbase with hadoop2 or haddop3 at downstream build time by setting
    a '-Dhadoop.profile=X.0'.

    Pattern is to add profiles when none in sub-modules when
    the flatten plugin complains it can't resolve an hadoop
    dependency's 'version' (e.g. hadoop-common, hadoop-hdfs).
    Adding the profile in the sub-module make it so the flatten
    plugin can figure 'hadoop.version' definitively.
    (In master there is only the hadoop-3.0 profile).

    Another spin on the above happens when profiles already exist
    in submodule but the flatten plugin is complaining it can't
    figure figure version on an hadoop dependency NOT under
    profiles. Below, we move the delinquent hadoop dependency under
    existing profiles (minikdc was the usual dependency outside
    profiles in sub-modules that flatten complained about).

    Sometimes, moving an hadoop dependency under a profile, there
    would be excludes on the local dependency. If the parent pom
    excludes section was missing the local excludes, we added them
    up to the parent module so all excluding is done up there in
    the parent profile dependencyManagement section.

Signed-off-by: Duo Zhang <[email protected]>
<id>hadoop-2.0</id>
<activation>
<property>
<!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Heya @saintstack -- this comment is about some support scripts, but I don't see them in the commit. Maybe something you intended to commit with this patch but missed the git add ? Thanks boss.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking a looksee @ndimiduk

It looks like this is a blind copy/paste of hadoop-2.0 profile activation snippet. I see we are repeating the comment in lots of places (See below). The comment is way stale referring to a script that was removed in 2014.

commit 37654f77a60ad0c13a84d6d6b39657789726df09
Author: Michael Stack <[email protected]>
Date:   Wed Mar 19 23:08:55 2014 +0000

    HBASE-10781 Remove hadoop-one-compat module and all references to hadoop1

    git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1579449 13f79535-47bb-0310-9956-ffa450edef68

Here is grep for comment over code base:

$ grep -r 'Below formatt' .
./hbase-client/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-asyncfs/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-replication/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-hadoop2-compat/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-zookeeper/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-thrift/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-common/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-examples/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-procedure/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-endpoint/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-testing-util/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-server/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-rest/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-shaded/hbase-shaded-client-byo-hadoop/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-shaded/hbase-shaded-testing-util/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
./hbase-shaded/hbase-shaded-mapreduce/pom.xml:          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
....

Let me file an issue to clean out the comment... HBASE-27396

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh okay. Here I was hoping that there was some additional secret sauce I was missing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants