This is an automated email from the ASF dual-hosted git repository.

chengpan pushed a commit to branch branch-1.10
in repository https://gitbox.apache.org/repos/asf/kyuubi.git


The following commit(s) were added to refs/heads/branch-1.10 by this push:
     new 2d4d6cfe42 [KYUUBI #7004] Include FastXML Jackson into authZ shaded jar
2d4d6cfe42 is described below

commit 2d4d6cfe420eb80f36a6a3efc0118b3ec9d7efbd
Author: Cheng Pan <[email protected]>
AuthorDate: Wed Mar 26 20:31:32 2025 +0800

    [KYUUBI #7004] Include FastXML Jackson into authZ shaded jar
    
    ### Why are the changes needed?
    
    RANGER-4225 (2.5.0) upgrades Jackson from 1.x to 2.x, and it causes 
`ClassNotFoundException` when user use 
`kyuubi-spark-authz-shaded_2.12-1.10.1.jar`(built with Ranger 2.5.0)
    
    ```
    java.lang.NoClassDefFoundError: 
com/fasterxml/jackson/jaxrs/base/ProviderBase
     at java.lang.ClassLoader.defineClass1(Native Method)
     at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
     at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
     at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
     at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
     at 
org.apache.ranger.plugin.util.RangerRESTClient.buildClient(RangerRESTClient.java:208)
     at 
org.apache.ranger.plugin.util.RangerRESTClient.getClient(RangerRESTClient.java:191)
     at 
org.apache.ranger.plugin.util.RangerRESTClient.get(RangerRESTClient.java:465)
     at 
org.apache.ranger.admin.client.RangerAdminRESTClient.getRangerRolesDownloadResponse(RangerAdminRESTClient.java:1321)
     at 
org.apache.ranger.admin.client.RangerAdminRESTClient.getRolesIfUpdatedWithCred(RangerAdminRESTClient.java:1183)
     at 
org.apache.ranger.admin.client.RangerAdminRESTClient.getRolesIfUpdated(RangerAdminRESTClient.java:148)
     at 
org.apache.ranger.plugin.util.RangerRolesProvider.loadUserGroupRolesFromAdmin(RangerRolesProvider.java:172)
     at 
org.apache.ranger.plugin.util.RangerRolesProvider.loadUserGroupRoles(RangerRolesProvider.java:112)
     at 
org.apache.ranger.plugin.util.PolicyRefresher.loadRoles(PolicyRefresher.java:563)
     at 
org.apache.ranger.plugin.util.PolicyRefresher.startRefresher(PolicyRefresher.java:138)
     at 
org.apache.ranger.plugin.service.RangerBasePlugin.init(RangerBasePlugin.java:254)
     at 
org.apache.kyuubi.plugin.spark.authz.ranger.SparkRangerAdminPlugin$.initialize(SparkRangerAdminPlugin.scala:68)
     at 
org.apache.kyuubi.plugin.spark.authz.ranger.RangerSparkExtension.<init>(RangerSparkExtension.scala:44)
    ```
    
    ### How was this patch tested?
    
    ```
    $ jar tf kyuubi-spark-authz-shaded_2.12-1.11.0-SNAPSHOT.jar | grep 
org/apache/kyuubi/shade/com/fasterxml
    org/apache/kyuubi/shade/com/fasterxml/
    org/apache/kyuubi/shade/com/fasterxml/jackson/
    org/apache/kyuubi/shade/com/fasterxml/jackson/databind/
    
org/apache/kyuubi/shade/com/fasterxml/jackson/databind/AbstractTypeResolver.class
    
org/apache/kyuubi/shade/com/fasterxml/jackson/databind/AnnotationIntrospector$ReferenceProperty$Type.class
    
org/apache/kyuubi/shade/com/fasterxml/jackson/databind/AnnotationIntrospector$ReferenceProperty.class
    
org/apache/kyuubi/shade/com/fasterxml/jackson/databind/AnnotationIntrospector$XmlExtensions.class
    
org/apache/kyuubi/shade/com/fasterxml/jackson/databind/AnnotationIntrospector.class
    org/apache/kyuubi/shade/com/fasterxml/jackson/databind/BeanDescription.class
    ...
    ```
    
    ### Was this patch authored or co-authored using generative AI tooling?
    
    No.
    
    Closes #7004 from pan3793/authz-jackson.
    
    Closes #7004
    
    cbf870516 [Cheng Pan] fix
    4312d9fe5 [Cheng Pan] Include FastXML Jackson into authZ shaded jar
    
    Authored-by: Cheng Pan <[email protected]>
    Signed-off-by: Cheng Pan <[email protected]>
    (cherry picked from commit d7f20e843149c333a45877e4f0eca29a269927bf)
    Signed-off-by: Cheng Pan <[email protected]>
---
 extensions/spark/kyuubi-spark-authz-shaded/pom.xml | 8 ++++++++
 extensions/spark/kyuubi-spark-authz/pom.xml        | 1 -
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/extensions/spark/kyuubi-spark-authz-shaded/pom.xml 
b/extensions/spark/kyuubi-spark-authz-shaded/pom.xml
index 5afc095e7e..d701365f72 100644
--- a/extensions/spark/kyuubi-spark-authz-shaded/pom.xml
+++ b/extensions/spark/kyuubi-spark-authz-shaded/pom.xml
@@ -49,7 +49,11 @@
                         <includes>
                             <include>org.apache.kyuubi:*</include>
                             <include>org.apache.ranger:*</include>
+                            <!-- RANGER-4225 (2.5.0) upgrades Jackson from 1.x 
to 2.x -->
                             <include>org.codehaus.jackson:*</include>
+                            <include>com.fasterxml.jackson.core:*</include>
+                            <include>com.fasterxml.jackson.module:*</include>
+                            <include>com.fasterxml.jackson.jaxrs:*</include>
                             <include>com.sun.jersey:*</include>
                             <include>javax.ws.rs:jsr311-api</include>
                         </includes>
@@ -81,6 +85,10 @@
                             <pattern>org.codehaus.jackson</pattern>
                             
<shadedPattern>${kyuubi.shade.packageName}.org.codehaus.jackson</shadedPattern>
                         </relocation>
+                        <relocation>
+                            <pattern>com.fasterxml.jackson</pattern>
+                            
<shadedPattern>${kyuubi.shade.packageName}.com.fasterxml.jackson</shadedPattern>
+                        </relocation>
                         <relocation>
                             <pattern>com.sun.jersey</pattern>
                             
<shadedPattern>${kyuubi.shade.packageName}.com.sun.jersey</shadedPattern>
diff --git a/extensions/spark/kyuubi-spark-authz/pom.xml 
b/extensions/spark/kyuubi-spark-authz/pom.xml
index dd9f1dfa03..16f76a46ea 100644
--- a/extensions/spark/kyuubi-spark-authz/pom.xml
+++ b/extensions/spark/kyuubi-spark-authz/pom.xml
@@ -270,7 +270,6 @@
         <dependency>
             <groupId>com.fasterxml.jackson.module</groupId>
             
<artifactId>jackson-module-scala_${scala.binary.version}</artifactId>
-            <scope>provided</scope>
         </dependency>
 
         <dependency>

Reply via email to