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

Reply via email to