[ 
https://issues.apache.org/jira/browse/PHOENIX-1250?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14135850#comment-14135850
 ] 

Gabriel Reid commented on PHOENIX-1250:
---------------------------------------

Thanks for taking a look.

{quote}Which branch is this against? I can't apply it to master or 4.0.{quote}

It's against master, but I generated the batch with --ignore-space-change 
because my IDE had fixed a bunch of whitespace after line endings and I didn't 
want them to clutter up the patch. Applying with {{git am --ignore-whitespace}} 
will let it apply to master.

The addition of the jsr305 is indeed for the @Nullable annotation. The 
transitive dependency is to it is removed in more recent versions of Guava, I 
assume because they're JDK 7 only.

The removal of StopWatch is just because the constructor changed from a normal 
constructor to a static factory method. It would be easy enough to work around 
this with reflection, but seeing as this is just for logging the number of 
seconds a batch of records took to process (on an error logger!) I figured it 
would be sufficient to just use currentTimeMillis. In any case, the import 
needs to be fixed up, so I'll take care of that and post an updated patch.

> 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
>            Assignee: Gabriel Reid
>         Attachments: PHOENIX-1250.patch
>
>
> 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