Skip to content

Conversation

@saintstack
Copy link
Contributor

(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.

(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.
@saintstack
Copy link
Contributor Author

Even though there is no hadoop-2.0 profile in master, there is the hadoop-3.0 profile. A few hadoop dependencies are included but not under the hadoop-3.0 profile and without explicit version which causes flatten-plugin difficultly. This explains movement of dependencies under hadoop-3.0 profiles in this master patch (just as we did on branch-2 but less movement needed).

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
+0 🆗 reexec 3m 40s 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.
_ master Compile Tests _
+0 🆗 mvndep 0m 19s Maven dependency ordering for branch
+1 💚 mvninstall 2m 18s master passed
+1 💚 compile 6m 1s master passed
+1 💚 spotless 0m 37s branch has no errors when running spotless:check.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 13s Maven dependency ordering for patch
+1 💚 mvninstall 2m 2s the patch passed
+1 💚 compile 5m 53s the patch passed
+1 💚 javac 5m 53s 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 7m 54s Patch does not cause any errors with Hadoop 3.2.4 3.3.4.
+1 💚 spotless 0m 35s patch has no errors when running spotless:check.
_ Other Tests _
+1 💚 asflicense 1m 21s The patch does not generate ASF License warnings.
36m 52s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4761/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #4761
Optional Tests dupname asflicense javac hadoopcheck spotless xml compile
uname Linux c8fbcb67ef9e 5.4.0-1071-aws #76~18.04.1-Ubuntu SMP Mon Mar 28 17:49:57 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 1fc703f
Default Java AdoptOpenJDK-1.8.0_282-b08
Max. process+thread count 139 (vs. ulimit of 30000)
modules C: hbase-hadoop-compat hbase-balancer hbase-http hbase-asyncfs hbase-procedure 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-4761/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 3m 36s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 20s Maven dependency ordering for branch
+1 💚 mvninstall 2m 50s master passed
+1 💚 compile 1m 52s master passed
+1 💚 shadedjars 4m 14s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 58s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 2m 37s the patch passed
+1 💚 compile 1m 48s the patch passed
+1 💚 javac 1m 48s the patch passed
+1 💚 shadedjars 4m 8s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 53s the patch passed
_ Other Tests _
+1 💚 unit 250m 37s root in the patch passed.
283m 41s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4761/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #4761
Optional Tests javac javadoc unit shadedjars compile
uname Linux 9aad9cc1a7dd 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 master / 1fc703f
Default Java AdoptOpenJDK-11.0.10+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4761/1/testReport/
Max. process+thread count 4613 (vs. ulimit of 30000)
modules C: hbase-hadoop-compat hbase-balancer hbase-http hbase-asyncfs hbase-procedure 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-4761/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 3m 39s Docker mode activated.
-0 ⚠️ yetus 0m 2s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+0 🆗 mvndep 0m 19s Maven dependency ordering for branch
+1 💚 mvninstall 2m 23s master passed
+1 💚 compile 1m 28s master passed
+1 💚 shadedjars 4m 5s branch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 9s master passed
_ Patch Compile Tests _
+0 🆗 mvndep 0m 14s Maven dependency ordering for patch
+1 💚 mvninstall 2m 8s the patch passed
+1 💚 compile 1m 27s the patch passed
+1 💚 javac 1m 27s the patch passed
+1 💚 shadedjars 4m 2s patch has no errors when building our shaded downstream artifacts.
+1 💚 javadoc 3m 12s the patch passed
_ Other Tests _
+1 💚 unit 391m 34s root in the patch passed.
421m 39s
Subsystem Report/Notes
Docker ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4761/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile
GITHUB PR #4761
Optional Tests javac javadoc unit shadedjars compile
uname Linux 0e11af349c3d 5.4.0-1071-aws #76~18.04.1-Ubuntu SMP Mon Mar 28 17:49:57 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision master / 1fc703f
Default Java AdoptOpenJDK-1.8.0_282-b08
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4761/1/testReport/
Max. process+thread count 4788 (vs. ulimit of 30000)
modules C: hbase-hadoop-compat hbase-balancer hbase-http hbase-asyncfs hbase-procedure 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-4761/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.

@Apache9 Apache9 merged commit 1b5403c into apache:master Sep 6, 2022
@Apache9
Copy link
Contributor

Apache9 commented Sep 6, 2022

Let's get this done :)

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.

3 participants