bowenliang123 commented on PR #4082:
URL: https://github.com/apache/kyuubi/pull/4082#issuecomment-1371042147

   The problem's fixed. And it turns out relatively complicated with misuse and 
mix-use after investigation.
   
   Conclusion:
   - `jakarta.activation-api` is now removed from `dependencyList`
   - it's added to `kyuubi-kubernetes-it` module in test scope
   
   Facts:
   - Before : with jersey 2.36,
        - `kyuubi-kubernetes-it` relies on `hadoop-client-minicluster` in test 
scope
        - `hadoop-client-minicluster` uses `DataSource` and other classes in 
package `javax.activation` without depending on the depencency
        - `javax.activation` package is actually provied by 
`jakarta.activation-api` included by `jersey-container-servlet-core`  
   
   - Obstocle: with jersey 2.38
        - two ci workflow failed, other tests pass, which are following
                - Spark Engine On Kubernetes Integration Test
                - Kyuubi Server On Kubernetes Integration Test
        - with exception "java.lang.NoClassDefFoundError: 
javax/activation/DataSource
   " 
(https://github.com/apache/kyuubi/actions/runs/3837070740/jobs/6531967937#step:5:1047)
        - they are both related to `kyuubi-kubernetes-it` module
   
   
   - Investigation: with jersey 2.38
        - `jakarta.activation-api` was removed in Jersey 2.38 compared to 2.36 
(https://github.com/eclipse-ee4j/jersey/compare/2.36...2.38)
        - from the blame history, it's clear that `jakarta.activation-api` was 
explictly excluded from `jersey-container` pom also impacting 
`jersey-container-servlet-core`
        
(https://github.com/eclipse-ee4j/jersey/blame/d0153ab08819adace8217264ad3ea95651e40396/containers/pom.xml),
 which in order to apply changes from `maven-enforcer-plugin` in 
(https://github.com/eclipse-ee4j/jersey/commit/7e7d33928141437fc0448e3f352d513dc2a0ea6d)
   
   
   - Solution:
        - added `jakarta.activation-api` to `kyuubi-kubernetes-it` module's 
dependency in test scope statisfying `hadoop-client-minicluster` 
        - confirm `jakarta.activation-api` is no longer directly or indirectly 
dependent in maven runtime scope
   
   
   Marks this PR ready for review again.
   cc @pan3793 


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to