abstractdog commented on PR #419:
URL: https://github.com/apache/tez/pull/419#issuecomment-3026984646

   > Thanx @abstractdog for the details. I think maybe the problem is we are 
forcing the scope to test in `dependencyManagement` of the parent pom. I 
believe if you just remove the scope from the parent pom, that should do. The 
other modules can have it in test scope.
   > 
   > 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
   > 
   > ```
   > diff --git a/pom.xml b/pom.xml
   > index 8dfdec9ec..d1031c6c4 100644
   > --- a/pom.xml
   > +++ b/pom.xml
   > @@ -58,7 +58,7 @@
   >  
   >      <!--dependency versions in alphabetical order-->
   >      <asynchttpclient.version>2.12.4</asynchttpclient.version>
   > -    <bouncycastle.version>1.78</bouncycastle.version>
   > +    <bouncycastle.version>1.78.1</bouncycastle.version>
   >      
<build-helper-maven-plugin.version>1.8</build-helper-maven-plugin.version>
   >      
<buildnumber-maven-plugin.version>1.1</buildnumber-maven-plugin.version>
   >      <checkstyle.version>8.35</checkstyle.version>
   > @@ -791,13 +791,11 @@
   >          <groupId>org.bouncycastle</groupId>
   >          <artifactId>bcprov-jdk18on</artifactId>
   >          <version>${bouncycastle.version}</version>
   > -        <scope>test</scope>
   >        </dependency>
   >        <dependency>
   >          <groupId>org.bouncycastle</groupId>
   >          <artifactId>bcpkix-jdk18on</artifactId>
   >          <version>${bouncycastle.version}</version>
   > -        <scope>test</scope>
   >        </dependency>
   >        <dependency>
   >          <groupId>org.fusesource.leveldbjni</groupId>
   > ```
   > 
   > What changed, and why was it working earlier?
   > 
   > I have a theory related to 
[HADOOP-19024](https://issues.apache.org/jira/browse/HADOOP-19024), which was 
introduced in Hadoop 3.4.1. Previously, Hadoop depended on `bcprov-jdk15on`, 
whereas Tez declared `bcprov-jdk18on` in its dependencyManagement. Since Tez 
did not explicitly declare `bcprov-jdk15on`, it was being pulled transitively 
from Hadoop with its default (compile) scope, so it ended up being packaged 
correctly.
   > 
   > However, after 
[HADOOP-19024](https://issues.apache.org/jira/browse/HADOOP-19024), Hadoop 
itself now declares `bcprov-jdk18on`, which conflicts with Tez’s declaration 
that forces its scope to test. As a result, the dependency is omitted from the 
final package.
   
   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
   however, I need to consider 2 things:
   1. version harmonization makes sense, I'll most probably add it
   2. this fix doesn't work downstream, only if I change the tez-api pom.xml 
too...I need to understand the difference before proceeding here
   
   I'll keep you posted


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@tez.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to