[ 
https://issues.apache.org/jira/browse/RANGER-2831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17112805#comment-17112805
 ] 

Pradeep Agrawal edited comment on RANGER-2831 at 5/21/20, 4:51 AM:
-------------------------------------------------------------------

[~jiezhang] : Here is my analysis regarding this issue : 

1) Commit 
[https://github.com/apache/ranger/commit/454537a95494477312b592256cd38878d004a167]
 has changed presto version to 333

2) Presto plugin usage io.airlift library. Refer 
[https://github.com/apache/ranger/blob/master/ranger-presto-plugin-shim/pom.xml#L50]

3) io.airlift.bootstrap usage javax.annotation. refer 
[https://github.com/airlift/airlift/blob/master/bootstrap/pom.xml#L45 
|https://github.com/airlift/airlift/blob/master/bootstrap/pom.xml#L45]

4) Ranger presto plugin build does not have 
[https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api/1.3.2]

5) Apart from dependency it should also have been added in assembly so that jar 
can be available in ranger presto plugin also.

6) along with above issue I feel there could be more dependency issues there so 
rather giving you a patch I would request you to add jar 
[https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar]
 at location ranger-2.1.0-SNAPSHOT-presto-plugin/lib and retry the restart.

7) if it works then let me know, if does not work then let me know the 
exception and i shall let you know the steps.

 


was (Author: pradeep.agrawal):
[~jiezhang] : Here is my analysis regarding this issue : 

1) 
[Commit|[https://github.com/apache/ranger/commit/454537a95494477312b592256cd38878d004a167]]
 has changed presto version to 333

2) Presto plugin usage io.airlift library. Refer 
[https://github.com/apache/ranger/blob/master/ranger-presto-plugin-shim/pom.xml#L50]

3) io.airlift.bootstrap usage javax.annotation. refer 
[https://github.com/airlift/airlift/blob/master/bootstrap/pom.xml#L45 
|https://github.com/airlift/airlift/blob/master/bootstrap/pom.xml#L45]

4) Ranger presto plugin build does not have 
[https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api/1.3.2]

5) Apart from dependency it should also have been added in assembly so that jar 
can be available in ranger presto plugin also.

6) along with above issue I feel there could be more dependency issues there so 
rather giving you a patch I would request you to add jar 
[https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar]
 at location ranger-2.1.0-SNAPSHOT-presto-plugin/lib and retry the restart.

7) if it works then let me know, if does not work then let me know the 
exception and i shall let you know the steps.

 

> presto-server-333 can not start after integrating with ranger master branch
> ---------------------------------------------------------------------------
>
>                 Key: RANGER-2831
>                 URL: https://issues.apache.org/jira/browse/RANGER-2831
>             Project: Ranger
>          Issue Type: Bug
>          Components: Ranger
>    Affects Versions: 2.0.0
>         Environment: Amazon Linux
>            Reporter: Jie Zhang
>            Assignee: Pradeep Agrawal
>            Priority: Blocker
>             Fix For: master
>
>
> 1. I pulled/built ranger master branch after this 
> [commit|https://github.com/apache/ranger/commit/9256a436b392e11907d1b1570d69e106c8e5dd7f],
>  got ranger-2.1.0-SNAPSHOT-presto-plugin.tar.gz
> 2. Downloaded 
> [presto-server-333|https://prestosql.io/docs/current/installation/deployment.html],
>  started the server, ran some queries, made sure presto-server-333 itself 
> worked. 
> 3. Ran ranger-2.1.0-SNAPSHOT-presto-plugin/install.properties
> 4. Tried to restart presto-server-333, failed with this error:
> {code:java}
> // code placeholder
> 2020-05-19T20:29:49.784Z INFO main io.prestosql.metadata.StaticCatalogStore 
> -- Added catalog hive using connector hive-hadoop2 --2020-05-19T20:29:49.784Z 
> INFO main io.prestosql.metadata.StaticCatalogStore -- Added catalog hive 
> using connector hive-hadoop2 --2020-05-19T20:29:49.785Z INFO main 
> io.prestosql.security.AccessControlManager -- Loading system access control 
> etc/access-control.properties --2020-05-19T20:29:49.983Z INFO main Bootstrap 
> PROPERTY              DEFAULT  RUNTIME  DESCRIPTION2020-05-19T20:29:49.983Z 
> INFO main Bootstrap ranger.hadoop_config  ----     ----     Path to hadoop 
> configuration. Defaults to presto-ranger-site.xml in 
> classpath2020-05-19T20:29:49.983Z INFO main Bootstrap ranger.keytab         
> ----     ----     Keytab for authentication against 
> Ranger2020-05-19T20:29:49.983Z INFO main Bootstrap ranger.principal      ---- 
>     ----     Principal for authentication against Ranger with 
> keytab2020-05-19T20:29:49.983Z INFO main Bootstrap ranger.use_ugi        
> false    false    Use Hadoop User Group Information instead of Presto 
> groups2020-05-19T20:29:50.075Z ERROR main io.prestosql.server.PrestoServer 
> javax/annotation/PostConstructjava.lang.NoClassDefFoundError: 
> javax/annotation/PostConstruct at 
> io.airlift.bootstrap.LifeCycleMethods.addLifeCycleMethods(LifeCycleMethods.java:65)
>  at io.airlift.bootstrap.LifeCycleMethods.<init>(LifeCycleMethods.java:39) at 
> java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
>  at io.airlift.bootstrap.LifeCycleMethodsMap.get(LifeCycleMethodsMap.java:27) 
> at 
> io.airlift.bootstrap.LifeCycleModule.isLifeCycleClass(LifeCycleModule.java:86)
>  at io.airlift.bootstrap.LifeCycleModule.provision(LifeCycleModule.java:55) 
> at 
> com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:120)
>  at 
> com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:66)
>  at 
> com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:91)
>  at 
> com.google.inject.internal.Initializer$InjectableReference.get(Initializer.java:245)
>  at com.google.inject.internal.Initializer.injectAll(Initializer.java:140) at 
> com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:176)
>  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:262) at 
> org.apache.ranger.authorization.presto.authorizer.RangerSystemAccessControlFactory.create(RangerSystemAccessControlFactory.java:53)
>  at 
> io.prestosql.security.AccessControlManager.createSystemAccessControl(AccessControlManager.java:166)
>  at 
> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
>  at java.base/java.util.Collections$2.tryAdvance(Collections.java:4747) at 
> java.base/java.util.Collections$2.forEachRemaining(Collections.java:4755) at 
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
>  at 
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
>  at 
> java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
>  at 
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>  at 
> java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
>  at 
> io.prestosql.security.AccessControlManager.loadSystemAccessControl(AccessControlManager.java:142)
>  at io.prestosql.server.PrestoServer.run(PrestoServer.java:129) at 
> io.prestosql.$gen.Presto_333____20200519_202943_1.run(Unknown Source) at 
> io.prestosql.server.PrestoServer.main(PrestoServer.java:72)Caused by: 
> java.lang.ClassNotFoundException: javax.annotation.PostConstruct at 
> java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471) at 
> java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) at 
> io.prestosql.server.PluginClassLoader.loadClass(PluginClassLoader.java:89) at 
> java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 29 
> more2020-05-19T20:29:50.076Z INFO Thread-79 
> io.airlift.bootstrap.LifeCycleManager JVM is shutting down, cleaning up
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to