[
https://issues.apache.org/jira/browse/PHOENIX-1250?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14131590#comment-14131590
]
Gabriel Reid commented on PHOENIX-1250:
---------------------------------------
Upgrading Phoenix itself to a different version of Guava than what HBase uses
is pretty dangerous, because it could easily lead to the Phoenix coprocessors
(running within HBase) depending on methods that don't exist in the version of
guava running in the VM.
My proposal would be to stick with the same version of Guava as HBase uses, but
remove the use of {{Closeables.closeQuietly}} (and anything else that has been
removed in recent versions of Guava) to remain binary compatible with recent
versions of Guava.
> guava dependency out-dated causing NoSuchMethod error
> -----------------------------------------------------
>
> Key: PHOENIX-1250
> URL: https://issues.apache.org/jira/browse/PHOENIX-1250
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.1
> Environment: CentOS, Phoenix 4.1, HBase 0.98.5
> Reporter: Jerry Chabot
>
> Phoenix has a dependency on Guava 12.0.1 (released in 2012). My project uses
> Guava 16.0.1. The latest version is 18. Apparently, the
> Closeables.closeQuitely(Closeable) no longer exists in 16.0.1 and later.
> Possibly earlier versions.
> I get the error below when attempting to get a connection. This is blocking
> any attempts to integrate Phoenix because I cannot downgrade our project
> dependency to a 2 year old version.
> Please review all project dependencies and consider uprading to more recent
> versions.
> java.sql.SQLException: java.lang.NoSuchMethodError:
> com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataCoprocessorExec(ConnectionQueryServicesImpl.java:947)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1144)
> at
> org.apache.phoenix.query.DelegateConnectionQueryServices.createTable(DelegateConnectionQueryServices.java:114)
> at
> org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:1315)
> at
> org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:445)
> at
> org.apache.phoenix.compile.CreateTableCompiler$2.execute(CreateTableCompiler.java:183)
> at
> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:256)
> at
> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:248)
> at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
> at
> org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:246)
> at
> org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:960)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl$9.call(ConnectionQueryServicesImpl.java:1519)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl$9.call(ConnectionQueryServicesImpl.java:1489)
> at
> org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:77)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1489)
> at
> org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:162)
> at
> org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:129)
> at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:133)
> at java.sql.DriverManager.getConnection(DriverManager.java:571)
> at java.sql.DriverManager.getConnection(DriverManager.java:187)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)