-
Notifications
You must be signed in to change notification settings - Fork 3.4k
HBASE-28434 Update assembly to create a tarball with hadoop and witho… #5766
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
Conversation
|
Just a very rough draft of how this could be done. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
hbase-assembly-byo-hadoop/pom.xml
Outdated
| <groupId>org.apache.hadoop</groupId> | ||
| <artifactId>hadoop-yarn-api</artifactId> | ||
| <version>${hadoop-three.version}</version><exclusions> | ||
| <exclusion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if these are at scope:provided, is it necessary to also have the exclusions list? Can these exclusions be omitted enitrely?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They probably can.
I wil test it for the next patch version, and remove them if possible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
This includes the refactor and the jax-ws changes that have not yet been merged, but otherwise this is my intended "final" version of the assembly changes. |
|
So we plan to land HBASE-29016 first? |
This comment has been minimized.
This comment has been minimized.
|
Yes. I haven't merged HBASE-29016 yet to give you and Nick time to review that. |
|
@NihalJain also suggested renaming the new dev classpath generation module, I was also waiting if the name is fine by you, or maybe if you have some different suggestion. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
This is the diff between the original and byo-hadoop assembly lib dir: |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
rebased the patch |
|
started new CI run |
This comment has been minimized.
This comment has been minimized.
|
💔 -1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
| </dependency> | ||
| <dependency> | ||
| <groupId>org.apache.hbase</groupId> | ||
| <artifactId>hbase-server</artifactId> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this will pull in bunch of hadoop dependencies? Have you checked the final assembly?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes I have (though not after the last rebase ).
That's why I've added all the Hadoop dependencies with provided scope, those will remove those dependencies and their transitive dependencies.
I've added a list of the differences between the assemblies (before the last rebase) to the ticket:
Apache9
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested locally, there are no hadoop jars in the tarball under hbase-assembly-byo-hadoop.
Do we want to publish this tarball in our release too?
|
Thank you. |
|
We need to change the release script for that. right ? |
Yes, we need to change the release script, I do not think there are any release manager will do release manually now. Can file a new issue to do the script change. |
|
Opened HBASE-29095 for the relase script change. |
…ut hadoop (apache#5766) Signed-off-by: Duo Zhang <[email protected]>
…ut hadoop (#5766) Signed-off-by: Duo Zhang <[email protected]> (cherry picked from commit 93b8d7b)
| fi | ||
|
|
||
| #If Hadoop is not specified with HADOOP_HOME, check that the assembly includes Hadoop | ||
| if [[ -z "${HADOOP_IN_PATH}" && ! -e "lib/hadoop-common*" ]] ; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stoty I just noticed that I'm unable to start hbase in the local dev environment (after mvn install) because of this. How about adding this condition?
diff --git a/bin/hbase b/bin/hbase
index 8f58bf578a..5f1b845110 100755
--- a/bin/hbase
+++ b/bin/hbase
@@ -222,7 +222,7 @@ if [ "$HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP" != "true" ] ; then
fi
#If Hadoop is not specified with HADOOP_HOME, check that the assembly includes Hadoop
-if [[ -z "${HADOOP_IN_PATH}" && ! -e "lib/hadoop-common*" ]] ; then
+if [[ $in_dev_env = false && -z "${HADOOP_IN_PATH}" && ! -e "lib/hadoop-common*" ]] ; then
echo Installation does not contain Hadoop, and HADOOP_HOME does not point to a Hadoop installation.
echo Specify a compatible Hadoop installation via HADOOP_HOME, or use the HBase assembly variant
echo that includes Hadoop.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, opened HBASE-29106
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also breaks the integration test in nightly...
Maybe we should review the condition here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the problem here is that, we should not directly use 'lib/hadoop-common*', since we may execute the script in any directory...
Let's add the ${HBASE_HOME} prefix here... @stoty
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks.
Opened #6665 for the fix.
…ut hadoop WIP