Github user ijokarumawak commented on the issue:

    https://github.com/apache/nifi-registry/pull/131
  
    Note of the last commit. While I was deploying a different Ranger and 
Registry environment to test HDFS and Kerberos, I encountered a javax.ws.rs 
version conflict issue between jersey-bundle and nifi-registry. The 
jersey-bundle-1.19.3 used by Ranger common contains javax.ws.rs 1.x while NiFi 
Registry uses rs 2.1 api. This causes following exception occasionally:
    
    ```
    Caused by: java.lang.LinkageError: ClassCastException: attempting to 
castjar:file:/home/koji/nifi-registry-0.3.0-SNAPSHOT/work/jetty/nifi-registry-web-api-0.3.0-SNAPSHOT.war/webapp/WEB-INF/lib/javax.ws.rs-api-2.1.jar!/javax/ws/rs/ext/RuntimeDelegate.classtojar:file:/home/koji/nifi-registry-0.3.0-SNAPSHOT/./ext/ranger/lib/jersey-bundle-1.19.3.jar!/javax/ws/rs/ext/RuntimeDelegate.class
            at 
javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:116) ~[na:na]
            at 
javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:91) ~[na:na]
            at javax.ws.rs.core.MediaType.<clinit>(MediaType.java:44) ~[na:na]
            at 
com.sun.jersey.core.header.MediaTypes.<clinit>(MediaTypes.java:65) ~[na:na]
            at 
com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders(MessageBodyFactory.java:182)
 ~[na:na]
            at 
com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders(MessageBodyFactory.java:175)
 ~[na:na]
            at 
com.sun.jersey.core.spi.factory.MessageBodyFactory.init(MessageBodyFactory.java:162)
 ~[na:na]
            at com.sun.jersey.api.client.Client.init(Client.java:343) ~[na:na]
            at com.sun.jersey.api.client.Client.access$000(Client.java:119) 
~[na:na]
            at com.sun.jersey.api.client.Client$1.f(Client.java:192) ~[na:na]
            at com.sun.jersey.api.client.Client$1.f(Client.java:188) ~[na:na]
            at 
com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) ~[na:na]
            at com.sun.jersey.api.client.Client.<init>(Client.java:188) ~[na:na]
            at com.sun.jersey.api.client.Client.<init>(Client.java:171) ~[na:na]
            at com.sun.jersey.api.client.Client.create(Client.java:683) ~[na:na]
            at 
org.apache.ranger.plugin.util.RangerRESTClient.buildClient(RangerRESTClient.java:211)
 ~[na:na]
            at 
org.apache.ranger.plugin.util.RangerRESTClient.getClient(RangerRESTClient.java:176)
 ~[na:na]
            at 
org.apache.ranger.plugin.util.RangerRESTClient.getResource(RangerRESTClient.java:156)
 ~[na:na]
            at 
org.apache.ranger.admin.client.RangerAdminRESTClient.createWebResource(RangerAdminRESTClient.java:275)
 ~[na:na]
            at 
org.apache.ranger.admin.client.RangerAdminRESTClient.getServicePoliciesIfUpdated(RangerAdminRESTClient.java:126)
 ~[na:na]
            at 
org.apache.ranger.plugin.util.PolicyRefresher.loadPolicyfromPolicyAdmin(PolicyRefresher.java:264)
 ~[na:na]
            at 
org.apache.ranger.plugin.util.PolicyRefresher.loadPolicy(PolicyRefresher.java:202)
 ~[na:na]
            at 
org.apache.ranger.plugin.util.PolicyRefresher.startRefresher(PolicyRefresher.java:149)
 ~[na:na]
            at 
org.apache.ranger.plugin.service.RangerBasePlugin.init(RangerBasePlugin.java:150)
 ~[na:na]
            at 
org.apache.nifi.registry.ranger.RangerAuthorizer.onConfigured(RangerAuthorizer.java:165)
 ~[na:na]
            ... 69 common frames omitted
    ```
    
    To avoid this, I've added mvn shade plugin to remove javax.ws.rs package 
from the jersey-bundle dependency. 


---

Reply via email to