Bryan Bende created NIFI-2760:
---------------------------------

             Summary: Apache Ranger Authorizer using wrong version of 
jersey-bundle
                 Key: NIFI-2760
                 URL: https://issues.apache.org/jira/browse/NIFI-2760
             Project: Apache NiFi
          Issue Type: Bug
    Affects Versions: 1.0.0
            Reporter: Bryan Bende
            Assignee: Bryan Bende
            Priority: Minor
             Fix For: 1.1.0


The Apache Ranger authorizer has a dependency on ranger-plugins-common which 
ends up bringing in the following Jersey JARs:

jersey-bundle-1.17.1.jar
jersey-core-1.19.jar
jersey-json-1.19.jar

This can cause classpath issues depending the order the classes are loaded:

{code}
Caused by: java.lang.IncompatibleClassChangeError: 
com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider and 
com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$Wadl disagree 
on InnerClasses attribute
        at java.lang.Class.getDeclaringClass0(Native Method) ~[na:1.8.0_77]
        at java.lang.Class.getDeclaringClass(Class.java:1235) ~[na:1.8.0_77]
        at java.lang.Class.getEnclosingClass(Class.java:1277) ~[na:1.8.0_77]
        at 
com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:170)
 ~[jersey-core-1.19.jar:1.19]
        at 
com.sun.jersey.core.spi.component.ProviderFactory.__getComponentProvider(ProviderFactory.java:166)
 ~[jersey-core-1.19.jar:1.19]
        at 
com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:137)
 ~[jersey-core-1.19.jar:1.19]
        at 
com.sun.jersey.core.spi.component.ProviderServices.getComponent(ProviderServices.java:283)
 ~[jersey-core-1.19.jar:1.19]
        at 
com.sun.jersey.core.spi.component.ProviderServices.getServices(ProviderServices.java:163)
 ~[jersey-core-1.19.jar:1.19]
        at 
com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders(MessageBodyFactory.java:176)
 ~[jersey-core-1.19.jar:1.19]
        at 
com.sun.jersey.core.spi.factory.MessageBodyFactory.init(MessageBodyFactory.java:162)
 ~[jersey-core-1.19.jar:1.19]
        at com.sun.jersey.api.client.Client.init(Client.java:342) 
~[jersey-client-1.19.jar:1.19]
        at com.sun.jersey.api.client.Client.access$000(Client.java:118) 
~[jersey-client-1.19.jar:1.19]
        at com.sun.jersey.api.client.Client$1.f(Client.java:191) 
~[jersey-client-1.19.jar:1.19]
        at com.sun.jersey.api.client.Client$1.f(Client.java:187) 
~[jersey-client-1.19.jar:1.19]
        at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) 
~[jersey-core-1.19.jar:1.19]
        at com.sun.jersey.api.client.Client.<init>(Client.java:187) 
~[jersey-client-1.19.jar:1.19]
        at com.sun.jersey.api.client.Client.<init>(Client.java:170) 
~[jersey-client-1.19.jar:1.19]
        at com.sun.jersey.api.client.Client.create(Client.java:679) 
~[jersey-client-1.19.jar:1.19]
        at 
org.apache.ranger.plugin.util.RangerRESTClient.buildClient(RangerRESTClient.java:212)
 ~[na:na]
        at 
org.apache.ranger.plugin.util.RangerRESTClient.getClient(RangerRESTClient.java:177)
 ~[na:na]
        at 
org.apache.ranger.plugin.util.RangerRESTClient.getResource(RangerRESTClient.java:157)
 ~[na:na]
        at 
org.apache.ranger.admin.client.RangerAdminRESTClient.createWebResource(RangerAdminRESTClient.java:242)
 ~[na:na]
        at 
org.apache.ranger.admin.client.RangerAdminRESTClient.access$200(RangerAdminRESTClient.java:41)
 ~[na:na]
        at 
org.apache.ranger.admin.client.RangerAdminRESTClient$3.run(RangerAdminRESTClient.java:101)
 ~[na:na]
        at 
org.apache.ranger.admin.client.RangerAdminRESTClient$3.run(RangerAdminRESTClient.java:99)
 ~[na:na]
        at java.security.AccessController.doPrivileged(Native Method) 
~[na:1.8.0_77]
        at javax.security.auth.Subject.doAs(Subject.java:360) ~[na:1.8.0_77]
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1689)
 ~[na:na]
        at 
org.apache.ranger.admin.client.RangerAdminRESTClient.getServicePoliciesIfUpdated(RangerAdminRESTClient.java:107)
 ~[na:na]
        at 
org.apache.ranger.plugin.util.PolicyRefresher.loadPolicyfromPolicyAdmin(PolicyRefresher.java:217)
 ~[na:na]
        at 
org.apache.ranger.plugin.util.PolicyRefresher.loadPolicy(PolicyRefresher.java:185)
 ~[na:na]
        at 
org.apache.ranger.plugin.util.PolicyRefresher.startRefresher(PolicyRefresher.java:136)
 ~[na:na]
        at 
org.apache.ranger.plugin.service.RangerBasePlugin.init(RangerBasePlugin.java:128)
 ~[na:na]
        at 
org.apache.nifi.ranger.authorization.RangerNiFiAuthorizer.onConfigured(RangerNiFiAuthorizer.java:118)
 ~[na:na]
{code}

The jersey-bundle JAR should be version 1.19.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to