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

   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.
   
   Secondly, Do we want bcpkix-jdk18on as well? That is also compile scope in 
Hadoop. 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, 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.


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