Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-1250

guava dependency out-dated causing NoSuchMethod error

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.1.0
    • 4.2.0, 3.2.0
    • None
    • None
    • CentOS, Phoenix 4.1, HBase 0.98.5

    Description

      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)

      Attachments

        1. PHOENIX-1250b.patch
          15 kB
          Gabriel Reid
        2. PHOENIX-1250.patch
          15 kB
          Gabriel Reid

        Issue Links

          Activity

            People

              gabriel.reid Gabriel Reid
              jchabot72 Jerry Chabot
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: