-
Notifications
You must be signed in to change notification settings - Fork 440
TEZ-4635: The bcprov JAR is no longer included in tez.tar.gz from Hadoop 3.4.1 #419
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
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
@abstractdog do you have pointers like which ticket removed it in Hadoop, I was checking the history I found only tickets around upgrade |
good point, I need to check this |
|
weird things, here is what I got as verbose dependency trees, full examples attached to jira (extracted only bcprov parts for clarity) hadoop 3.4.0 (hadoop-common) tez on hadoop 3.4.0 (tez-api) hadoop 3.4.1 (hadoop-common) tez on hadoop 3.4.1 (tez-api) so apparently, when depending on hadoop 3.4.1 (where the bcprov compile scope dependency looks good in hadoop project itself: org.bouncycastle:bcprov-jdk18on:jar:1.78.1:compile), the compile time dependency (instead of being brought as a compile-time dependency in tez), get ommited due to a totally confusing message: what does this mean? bcprov 1.78:test is omitted because the version is managed from 1.78.1 (which is the version defined in hadoop), but at the same time, I cannot see a proper 1.78.1 compile time dependency or something, this just doesn't make sense to me I’ve put in 1–2 hours of investigation so far, and I'm not sure how much more time it's worth, so here’s what we can do:
maybe do 1) now, and follow-up 2) later |
|
Thanx @abstractdog for the details. I think maybe the problem is we are forcing the scope to test in Moreover the version of bouncycastle from hadoop seems to be 1.78.1 where in Tez it is 1.78. Maybe we should keep them in sync. I believe something like this might just do What changed, and why was it working earlier? I have a theory related to HADOOP-19024, which was introduced in Hadoop 3.4.1. Previously, Hadoop depended on However, after HADOOP-19024, Hadoop itself now declares |
thanks @ayushtkn , absolutely makes sense what's weird is that upstream tez, the fix works also without the version harmonization, so only changing the root pom.xml
I'll keep you posted |
okay, after 4-5 hours I just figured out that the downstream version was missing TEZ-4266, leading very different plugin versions...TLDR: did everything to synchronize the pom structure, still downstream bcprov jar didn't appear in the dist package, after applying TEZ-4266 it magically started to work: I'm 99% sure that the old maven assembly plugin was the one to blame so I believe this PR could stay with a simple scope change in the root pom.xml + version bump |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
ayushtkn
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.
LGTM
No description provided.