[
https://issues.apache.org/jira/browse/PHOENIX-4453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16293855#comment-16293855
]
Pedro Boado commented on PHOENIX-4453:
--------------------------------------
The issue is related to the usage of an older version of
httpcomponentes:httpcore (4.2.5) pulled by CDH parent pom. It's solved by
enforcing the usage of the right libraries in the thin client module (4.5.2) .
> [CDH] Thin client fails with missing library
> --------------------------------------------
>
> Key: PHOENIX-4453
> URL: https://issues.apache.org/jira/browse/PHOENIX-4453
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.13.2-cdh5.11.2
> Environment: Centos 6 + 4.13.1-cdh5.11.2 rc0
> Reporter: Pedro Boado
> Assignee: Pedro Boado
> Priority: Minor
> Attachments: PHOENIX-4453.patch
>
>
> sqlline-thin client cannot start because of a dependency problem
> {code}
> [cloudera@quickstart bin]$ ./phoenix-sqlline-thin.py
> Setting property: [incremental, false]
> Setting property: [isolation, TRANSACTION_READ_COMMITTED]
> issuing: !connect
> jdbc:phoenix:thin:url=http://localhost:8765;serialization=PROTOBUF none none
> org.apache.phoenix.queryserver.client.Driver
> Connecting to
> jdbc:phoenix:thin:url=http://localhost:8765;serialization=PROTOBUF
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in
> [jar:file:/opt/cloudera/parcels/APACHE_PHOENIX-4.13.1-cdh5.11.2.p0.0/lib/phoenix/phoenix-4.13.0-cdh5.11.2-thin-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in
> [jar:file:/opt/cloudera/parcels/CDH-5.11.2-1.cdh5.11.2.p0.4/jars/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
> explanation.
> SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
> java.lang.NoClassDefFoundError:
> org/apache/phoenix/shaded/org/apache/http/config/Lookup
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:190)
> at
> org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl.instantiateClient(AvaticaHttpClientFactoryImpl.java:112)
> at
> org.apache.calcite.avatica.remote.AvaticaHttpClientFactoryImpl.getClient(AvaticaHttpClientFactoryImpl.java:68)
> at
> org.apache.calcite.avatica.remote.Driver.getHttpClient(Driver.java:160)
> at
> org.apache.calcite.avatica.remote.Driver.createService(Driver.java:123)
> at org.apache.calcite.avatica.remote.Driver.createMeta(Driver.java:97)
> at
> org.apache.calcite.avatica.AvaticaConnection.<init>(AvaticaConnection.java:121)
> at
> org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection.<init>(AvaticaJdbc41Factory.java:105)
> at
> org.apache.calcite.avatica.AvaticaJdbc41Factory.newConnection(AvaticaJdbc41Factory.java:62)
> at
> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
> at org.apache.calcite.avatica.remote.Driver.connect(Driver.java:165)
> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
> at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
> at sqlline.Commands.connect(Commands.java:1064)
> at sqlline.Commands.connect(Commands.java:996)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
> at sqlline.SqlLine.dispatch(SqlLine.java:809)
> at sqlline.SqlLine.initArgs(SqlLine.java:588)
> at sqlline.SqlLine.begin(SqlLine.java:661)
> at sqlline.SqlLine.start(SqlLine.java:398)
> at sqlline.SqlLine.main(SqlLine.java:291)
> at
> org.apache.phoenix.queryserver.client.SqllineWrapper.main(SqllineWrapper.java:93)
> Caused by: java.lang.ClassNotFoundException:
> org.apache.phoenix.shaded.org.apache.http.config.Lookup
> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> ... 27 more
> sqlline version 1.2.0
> 0: jdbc:phoenix:thin:url=http://localhost:876>
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)