Skip to content

HBASE-27340 Artifacts with resolved profiles - #4740

Merged
saintstack merged 1 commit into
apache:branch-2.5from
saintstack:HBASE-27340
Sep 2, 2022
Merged

HBASE-27340 Artifacts with resolved profiles#4740
saintstack merged 1 commit into
apache:branch-2.5from
saintstack:HBASE-27340

Conversation

@saintstack

Copy link
Copy Markdown
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
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 10sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ branch-2.5 Compile Tests _
+0 🆗mvndep0m 14sMaven dependency ordering for branch
+1 💚mvninstall2m 21sbranch-2.5 passed
+1 💚compile6m 26sbranch-2.5 passed
-1 ❌spotless0m 9sbranch has 60 errors when running spotless:check, run spotless:apply to fix.
_ Patch Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for patch
+1 💚mvninstall2m 11sthe patch passed
+1 💚compile6m 22sthe patch passed
+1 💚javac6m 22sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚xml0m 7sThe patch has no ill-formed XML file.
+1 💚hadoopcheck11m 52sPatch does not cause any errors with Hadoop 2.10.2 or 3.2.4 3.3.4.
-1 ❌spotless0m 8spatch has 60 errors when running spotless:check, run spotless:apply to fix.
_ Other Tests _
+1 💚asflicense1m 35sThe patch does not generate ASF License warnings.
38m 44s
SubsystemReport/Notes
DockerClientAPI=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 Testsdupname asflicense javac hadoopcheck spotless xml compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2.5 / 13841f5
Default JavaAdoptOpenJDK-1.8.0_282-b08
spotlesshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/artifact/yetus-general-check/output/branch-spotless.txt
spotlesshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/artifact/yetus-general-check/output/patch-spotless.txt
Max. process+thread count139 (vs. ulimit of 30000)
modulesC: 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 outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 53sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed 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 🆗mvndep0m 20sMaven dependency ordering for branch
+1 💚mvninstall2m 57sbranch-2.5 passed
+1 💚compile1m 43sbranch-2.5 passed
+1 💚shadedjars4m 8sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc3m 39sbranch-2.5 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 16sMaven dependency ordering for patch
+1 💚mvninstall2m 35sthe patch passed
+1 💚compile1m 43sthe patch passed
+1 💚javac1m 43sthe patch passed
+1 💚shadedjars4m 3spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc3m 34sthe patch passed
_ Other Tests _
+1 💚unit230m 20sroot in the patch passed.
260m 1s
SubsystemReport/Notes
DockerClientAPI=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 Testsjavac javadoc unit shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2.5 / 13841f5
Default JavaAdoptOpenJDK-11.0.10+9
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/testReport/
Max. process+thread count4715 (vs. ulimit of 30000)
modulesC: 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 outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache9Apache9 left a comment

Copy link
Copy Markdown
Contributor

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.

<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>

Copy link
Copy Markdown
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?

Comment threadhbase-mapreduce/pom.xml Outdated
</dependencies>
</profile>
<!--
profile for building against Hadoop 3.0.x. Activate using:

Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
ContributorAuthor

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

Comment threadpom.xml Outdated
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<!--<version>1.3.0</version>-->

Copy link
Copy Markdown
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
Copy Markdown
ContributorAuthor

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
Copy Markdown
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.

Comment threadpom.xml
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 54sDocker mode activated.
-0 ⚠️yetus0m 6sUnprocessed 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 🆗mvndep0m 20sMaven dependency ordering for branch
+1 💚mvninstall2m 39sbranch-2.5 passed
+1 💚compile1m 34sbranch-2.5 passed
+1 💚shadedjars4m 4sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc3m 14sbranch-2.5 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall2m 17sthe patch passed
+1 💚compile1m 33sthe patch passed
+1 💚javac1m 33sthe patch passed
+1 💚shadedjars4m 8spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc3m 17sthe patch passed
_ Other Tests _
-1 ❌unit351m 28sroot in the patch failed.
379m 27s
SubsystemReport/Notes
DockerClientAPI=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 Testsjavac javadoc unit shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2.5 / 13841f5
Default JavaAdoptOpenJDK-1.8.0_282-b08
unithttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/artifact/yetus-jdk8-hadoop2-check/output/patch-unit-root.txt
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/testReport/
Max. process+thread count4738 (vs. ulimit of 30000)
modulesC: 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 outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/1/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@apurtell

Copy link
Copy Markdown
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
Copy Markdown
ContributorAuthor

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
Copy Markdown
Contributor

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
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌patch0m 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.
SubsystemReport/Notes
GITHUB PR#4740
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/2/console
versionsgit=2.25.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

1 similar comment
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌patch0m 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.
SubsystemReport/Notes
GITHUB PR#4740
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/2/console
versionsgit=2.25.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌patch0m 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.
SubsystemReport/Notes
GITHUB PR#4740
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/2/console
versionsgit=2.25.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@saintstack

Copy link
Copy Markdown
ContributorAuthor

RELEASENOTE changes come of my running spotless locally.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌patch0m 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.
SubsystemReport/Notes
GITHUB PR#4740
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/3/console
versionsgit=2.17.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌patch0m 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.
SubsystemReport/Notes
GITHUB PR#4740
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/3/console
versionsgit=2.25.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌patch0m 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.
SubsystemReport/Notes
GITHUB PR#4740
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/3/console
versionsgit=2.25.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌patch0m 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.
SubsystemReport/Notes
GITHUB PR#4740
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/4/console
versionsgit=2.25.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

1 similar comment
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌patch0m 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.
SubsystemReport/Notes
GITHUB PR#4740
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/4/console
versionsgit=2.25.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌patch0m 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.
SubsystemReport/Notes
GITHUB PR#4740
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/4/console
versionsgit=2.17.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌patch0m 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.
SubsystemReport/Notes
GITHUB PR#4740
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/5/console
versionsgit=2.25.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

1 similar comment
@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌patch0m 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.
SubsystemReport/Notes
GITHUB PR#4740
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/5/console
versionsgit=2.25.1
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 0sDocker mode activated.
-1 ❌patch0m 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.
SubsystemReport/Notes
GITHUB PR#4740
Console outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/5/console
versionsgit=2.17.1
Powered byApache 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
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 4sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚@author0m 0sThe patch does not contain any @author tags.
_ branch-2.5 Compile Tests _
+0 🆗mvndep0m 24sMaven dependency ordering for branch
+1 💚mvninstall2m 13sbranch-2.5 passed
+1 💚compile6m 20sbranch-2.5 passed
+1 💚spotless0m 38sbranch has no errors when running spotless:check.
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall2m 6sthe patch passed
+1 💚compile6m 15sthe patch passed
+1 💚javac6m 15sthe patch passed
+1 💚whitespace0m 0sThe patch has no whitespace issues.
+1 💚xml0m 7sThe patch has no ill-formed XML file.
+1 💚hadoopcheck11m 43sPatch does not cause any errors with Hadoop 2.10.2 or 3.2.4 3.3.4.
+1 💚spotless0m 39spatch has no errors when running spotless:check.
_ Other Tests _
+1 💚asflicense1m 32sThe patch does not generate ASF License warnings.
39m 18s
SubsystemReport/Notes
DockerClientAPI=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 Testsdupname asflicense javac hadoopcheck spotless xml compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2.5 / 81ba123
Default JavaAdoptOpenJDK-1.8.0_282-b08
Max. process+thread count141 (vs. ulimit of 30000)
modulesC: 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 outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 52sDocker mode activated.
-0 ⚠️yetus0m 4sUnprocessed 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 🆗mvndep0m 44sMaven dependency ordering for branch
+1 💚mvninstall2m 38sbranch-2.5 passed
+1 💚compile1m 45sbranch-2.5 passed
+1 💚shadedjars4m 2sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc3m 32sbranch-2.5 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 13sMaven dependency ordering for patch
+1 💚mvninstall2m 36sthe patch passed
+1 💚compile1m 43sthe patch passed
+1 💚javac1m 43sthe patch passed
+1 💚shadedjars4m 4spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc3m 35sthe patch passed
_ Other Tests _
+1 💚unit236m 19sroot in the patch passed.
265m 54s
SubsystemReport/Notes
DockerClientAPI=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 Testsjavac javadoc unit shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2.5 / 81ba123
Default JavaAdoptOpenJDK-11.0.10+9
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/testReport/
Max. process+thread count4741 (vs. ulimit of 30000)
modulesC: 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 outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase

Copy link
Copy Markdown

🎊 +1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec6m 11sDocker mode activated.
-0 ⚠️yetus0m 5sUnprocessed 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 🆗mvndep0m 17sMaven dependency ordering for branch
+1 💚mvninstall2m 16sbranch-2.5 passed
+1 💚compile1m 35sbranch-2.5 passed
+1 💚shadedjars3m 42sbranch has no errors when building our shaded downstream artifacts.
+1 💚javadoc3m 15sbranch-2.5 passed
_ Patch Compile Tests _
+0 🆗mvndep0m 15sMaven dependency ordering for patch
+1 💚mvninstall2m 4sthe patch passed
+1 💚compile1m 31sthe patch passed
+1 💚javac1m 31sthe patch passed
+1 💚shadedjars3m 39spatch has no errors when building our shaded downstream artifacts.
+1 💚javadoc3m 22sthe patch passed
_ Other Tests _
+1 💚unit327m 50sroot in the patch passed.
359m 28s
SubsystemReport/Notes
DockerClientAPI=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 Testsjavac javadoc unit shadedjars compile
unameLinux 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 toolmaven
Personalitydev-support/hbase-personality.sh
git revisionbranch-2.5 / 81ba123
Default JavaAdoptOpenJDK-1.8.0_282-b08
Test Resultshttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/testReport/
Max. process+thread count3928 (vs. ulimit of 30000)
modulesC: 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 outputhttps://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4740/6/console
versionsgit=2.17.1 maven=3.6.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@saintstack
saintstack merged commit 71cf98f into apache:branch-2.5Sep 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 <apurtell@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
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 <zhangduo@apache.org>
<id>hadoop-2.0</id>
<activation>
<property>
<!--Below formatting for dev-support/generate-hadoopX-poms.sh-->

Copy link
Copy Markdown
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
Copy Markdown
ContributorAuthor

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 <stack@apache.org>
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
Copy Markdown
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 freeto 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

@saintstack@Apache-HBase@apurtell@Apache9@ndimiduk