Uploaded image for project: 'Ranger'
  1. Ranger
  2. RANGER-2816

Presto-ranger plugin has jersey error on presto server startup

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 1.0.0
    • None
    • plugins
    • None

    Description

      I am using ranger 1.0.0 and prestodb 220, everything has been working for > 10 mths until today presto startup consistently gets this error:

      
      
      2020-05-04T18:50:26.036Z        INFO    main    org.apache.ranger.audit.queue.AuditFileSpool    Starting writerThread, queueName=presto.async.batch, consumer=presto.async.batch.solr
      2020-05-04T18:50:26.038Z        INFO    Ranger async Audit cleanup      org.apache.ranger.audit.provider.AuditProviderFactory   RangerAsyncAuditCleanup: Waiting to audit cleanup start signal
      2020-05-04T18:50:26.039Z        INFO    main    org.apache.ranger.plugin.service.RangerBasePlugin       PolicyEngineOptions: { evaluatorType: auto, cacheAuditResult: false, disableContextEnrichers: false, disableCustomConditions: false, disableTrieLookupPrefilter: false }
      2020-05-04T18:50:26.548Z        ERROR   main    com.facebook.presto.server.PrestoServer Unable to create injector, see the following errors:
      
      1) Error injecting constructor, java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControl.<init>(RangerSystemAccessControl.java:40)
        at org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControlFactory.lambda$create$0(RangerSystemAccessControlFactory.java:45)
        while locating org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControl
      
      1 error
      com.google.inject.CreationException: Unable to create injector, see the following errors:
      
      1) Error injecting constructor, java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControl.<init>(RangerSystemAccessControl.java:40)
        at org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControlFactory.lambda$create$0(RangerSystemAccessControlFactory.java:45)
        while locating org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControl
      
      1 error
              at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:543)
              at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:186)
              at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
              at com.google.inject.Guice.createInjector(Guice.java:87)
              at io.airlift.bootstrap.Bootstrap.initialize(Bootstrap.java:240)
              at org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControlFactory.create(RangerSystemAccessControlFactory.java:53)
              at com.facebook.presto.security.AccessControlManager.setSystemAccessControl(AccessControlManager.java:138)
              at com.facebook.presto.security.AccessControlManager.loadSystemAccessControl(AccessControlManager.java:118)
              at com.facebook.presto.server.PrestoServer.run(PrestoServer.java:142)
              at com.facebook.presto.server.PrestoServer.main(PrestoServer.java:73)
      Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
              at org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControl.<init>(RangerSystemAccessControl.java:56)
              at org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControl$$FastClassByGuice$$ec9f475b.newInstance(<generated>)
              at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
              at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
              at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
              at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
              at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
              at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
              at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
              at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:211)
              at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:182)
              ... 8 more
      Caused by: java.lang.reflect.InvocationTargetException
              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
              at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
              at org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControl.<init>(RangerSystemAccessControl.java:54)
              ... 18 more
      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)
              at java.lang.Class.getDeclaringClass(Class.java:1235)
              at java.lang.Class.getEnclosingClass(Class.java:1277)
              at com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:170)
              at com.sun.jersey.core.spi.component.ProviderFactory.__getComponentProvider(ProviderFactory.java:166)
              at com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:137)
              at com.sun.jersey.core.spi.component.ProviderServices.getComponent(ProviderServices.java:283)
              at com.sun.jersey.core.spi.component.ProviderServices.getServices(ProviderServices.java:163)
              at com.sun.jersey.core.spi.factory.MessageBodyFactory.initReaders(MessageBodyFactory.java:176)
              at com.sun.jersey.core.spi.factory.MessageBodyFactory.init(MessageBodyFactory.java:162)
              at com.sun.jersey.api.client.Client.init(Client.java:343)
              at com.sun.jersey.api.client.Client.access$000(Client.java:119)
              at com.sun.jersey.api.client.Client$1.f(Client.java:192)
              at com.sun.jersey.api.client.Client$1.f(Client.java:188)
              at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
              at com.sun.jersey.api.client.Client.<init>(Client.java:188)
              at com.sun.jersey.api.client.Client.<init>(Client.java:171)
              at com.sun.jersey.api.client.Client.create(Client.java:683)
              at org.apache.ranger.plugin.util.RangerRESTClient.buildClient(RangerRESTClient.java:203)
              at org.apache.ranger.plugin.util.RangerRESTClient.getClient(RangerRESTClient.java:176)
              at org.apache.ranger.plugin.util.RangerRESTClient.getResource(RangerRESTClient.java:156)
              at org.apache.ranger.admin.client.RangerAdminRESTClient.createWebResource(RangerAdminRESTClient.java:275)
              at org.apache.ranger.admin.client.RangerAdminRESTClient.getServicePoliciesIfUpdated(RangerAdminRESTClient.java:126)
              at org.apache.ranger.plugin.util.PolicyRefresher.loadPolicyfromPolicyAdmin(PolicyRefresher.java:264)
              at org.apache.ranger.plugin.util.PolicyRefresher.loadPolicy(PolicyRefresher.java:202)
              at org.apache.ranger.plugin.util.PolicyRefresher.startRefresher(PolicyRefresher.java:149)
              at org.apache.ranger.plugin.service.RangerBasePlugin.init(RangerBasePlugin.java:150)
              at org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControl.<init>(RangerSystemAccessControl.java:84)
              ... 23 more
      
      
      2020-05-04T18:50:26.549Z        INFO    Thread-99       io.airlift.bootstrap.LifeCycleManager   Life cycle stopping...
      2020-05-04T18:50:26.549Z        INFO    Thread-96       io.airlift.bootstrap.LifeCycleManager   Life cycle stopping...
      

      Attachments

        1. patch2.diff
          12 kB
          t oo

        Issue Links

          Activity

            People

              Unassigned Unassigned
              toopt4 t oo
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: