[
https://issues.apache.org/jira/browse/PHOENIX-3025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Josh Elser updated PHOENIX-3025:
--------------------------------
Attachment: PHOENIX-3025-addendum.patch
So, at some point in time, I think the phoenix-queryserver module was shading
in Guava (and relocating it). I believe when we switched over to pulling these
dependencies from the phoenix-client jar, the relocation statement wasn't
removed. So, the queryserver module had a relocation configuration statement
for classes that weren't actually getting shaded.
This continued to work because the relocation configurations for the shade
plugin were equivalent (the client jar shaded guava to the same place the
queryserver jar was). Once the original changeset here on PHOENIX-3025 removed
the relocation of guava, queryserver failed to find it (because it still had
its relocation config).
I tested this patch out locally and it works fine. (The avatica.version
removals are unrelated changes -- they are superfluous).
> CsvBulkloadTool is failing with java.lang.IncompatibleClassChangeError
> ----------------------------------------------------------------------
>
> Key: PHOENIX-3025
> URL: https://issues.apache.org/jira/browse/PHOENIX-3025
> Project: Phoenix
> Issue Type: Bug
> Reporter: Rajeshbabu Chintaguntla
> Assignee: Sergey Soldatov
> Priority: Blocker
> Fix For: 4.8.0
>
> Attachments: PHOENIX-3025-addendum.patch, PHOENIX-3025.patch
>
>
> Getting following error while running CsvBulkloadTool
> {noformat}
> 16/06/24 21:39:14 INFO zookeeper.ClientCnxn: Session establishment complete
> on server localhost/127.0.0.1:2181, sessionid = 0x15582fe70650014, negotiated
> timeout = 40000
> Exception in thread "main" java.sql.SQLException: ERROR 103 (08004): Unable
> to establish connection.
> at
> org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:454)
> at
> org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.openConnection(ConnectionQueryServicesImpl.java:393)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.access$300(ConnectionQueryServicesImpl.java:219)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2321)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2300)
> at
> org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:78)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2300)
> at
> org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:231)
> at
> org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:135)
> at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:202)
> at java.sql.DriverManager.getConnection(DriverManager.java:571)
> at java.sql.DriverManager.getConnection(DriverManager.java:187)
> at org.apache.phoenix.util.QueryUtil.getConnection(QueryUtil.java:340)
> at org.apache.phoenix.util.QueryUtil.getConnection(QueryUtil.java:332)
> at
> org.apache.phoenix.mapreduce.AbstractBulkLoadTool.loadData(AbstractBulkLoadTool.java:207)
> at
> org.apache.phoenix.mapreduce.AbstractBulkLoadTool.run(AbstractBulkLoadTool.java:181)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
> at
> org.apache.phoenix.mapreduce.CsvBulkLoadTool.main(CsvBulkLoadTool.java:101)
> 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 org.apache.hadoop.util.RunJar.run(RunJar.java:221)
> at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
> Caused by: java.io.IOException: java.lang.reflect.InvocationTargetException
> at
> org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:240)
> at
> org.apache.hadoop.hbase.client.ConnectionManager.createConnection(ConnectionManager.java:431)
> at
> org.apache.hadoop.hbase.client.ConnectionManager.createConnectionInternal(ConnectionManager.java:340)
> at
> org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:144)
> at
> org.apache.phoenix.query.HConnectionFactory$HConnectionFactoryImpl.createConnection(HConnectionFactory.java:47)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.openConnection(ConnectionQueryServicesImpl.java:391)
> ... 23 more
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> at
> org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238)
> ... 28 more
> Caused by: java.lang.IncompatibleClassChangeError: Class
> org.apache.hadoop.hbase.protobuf.generated.ClusterIdProtos$ClusterId$Builder
> does not implement the requested interface
> org.apache.phoenix.shaded.com.google.protobuf.Message$Builder
> at
> org.apache.hadoop.hbase.protobuf.ProtobufUtil.mergeFrom(ProtobufUtil.java:3180)
> at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:69)
> at
> org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:75)
> at
> org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:105)
> at
> org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:905)
> at
> org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:648)
> ... 33 more
> {noformat}
> [~sergey.soldatov] any idea? ping [[email protected]] It seems like blocker
> for release.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)