[ 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)