The exception seems to be unique to our use case where the server uses swagger and has a conflict on guava with the version of guava needed in the HBase client. I was able to get the code running by removing swagger.
However, using 4.12.2-HBase-1.2, I am still running into the NPE in https://issues.apache.org/jira/browse/PHOENIX-5101 I had left a comment <https://issues.apache.org/jira/browse/PHOENIX-5101?focusedCommentId=16812747&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16812747> on the ticket previously because the fix might not work for HBase 1.2 and 1.3 Stacktrace: Caused by: java.lang.NullPointerException: null at org.apache.phoenix.iterate.ScanningResultIterator.getScanMetrics(ScanningResultIterator.java:100) ~[phoenix-core-4.14.2-HBase-1.2.jar:4.14.2-HBase-1.2] at org.apache.phoenix.iterate.ScanningResultIterator.close(ScanningResultIterator.java:80) ~[phoenix-core-4.14.2-HBase-1.2.jar:4.14.2-HBase-1.2] at org.apache.phoenix.iterate.TableResultIterator.close(TableResultIterator.java:144) ~[phoenix-core-4.14.2-HBase-1.2.jar:4.14.2-HBase-1.2] at org.apache.phoenix.iterate.LookAheadResultIterator$1.close(LookAheadResultIterator.java:42) ~[phoenix-core-4.14.2-HBase-1.2.jar:4.14.2-HBase-1.2] at org.apache.phoenix.iterate.BaseResultIterators.close(BaseResultIterators.java:1442) ~[phoenix-core-4.14.2-HBase-1.2.jar:4.14.2-HBase-1.2] at org.apache.phoenix.iterate.RoundRobinResultIterator.close(RoundRobinResultIterator.java:125) ~[phoenix-core-4.14.2-HBase-1.2.jar:4.14.2-HBase-1.2] ... 64 common frames omitted On Mon, Apr 22, 2019 at 5:11 PM William Shen <[email protected]> wrote: > Seems to be due to https://issues.apache.org/jira/browse/HBASE-14963 which > is not in HBase-1.2 > > On Mon, Apr 22, 2019 at 4:38 PM William Shen <[email protected]> > wrote: > >> the bottom of the stacktrace: >> Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: >> java.lang.IllegalAccessError: tried to access method >> com.google.common.base.Stopwatch.<init>()V from class >> org.apache.hadoop.hbase.zookeeper.MetaTableLocator >> at >> org.apache.hadoop.hbase.client.RpcRetryingCaller.translateException(RpcRetryingCaller.java:239) >> at >> org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:212) >> at >> org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:327) >> at >> org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:302) >> at >> org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:167) >> at >> org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:162) >> at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:797) >> at >> org.apache.hadoop.hbase.MetaTableAccessor.fullScan(MetaTableAccessor.java:602) >> at >> org.apache.hadoop.hbase.MetaTableAccessor.tableExists(MetaTableAccessor.java:366) >> at >> org.apache.hadoop.hbase.client.HBaseAdmin.tableExists(HBaseAdmin.java:406) >> at >> org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:1097) >> ... 30 more >> Caused by: java.lang.IllegalAccessError: tried to access method >> com.google.common.base.Stopwatch.<init>()V from class >> org.apache.hadoop.hbase.zookeeper.MetaTableLocator >> at >> org.apache.hadoop.hbase.zookeeper.MetaTableLocator.blockUntilAvailable(MetaTableLocator.java:604) >> at >> org.apache.hadoop.hbase.zookeeper.MetaTableLocator.blockUntilAvailable(MetaTableLocator.java:588) >> at >> org.apache.hadoop.hbase.zookeeper.MetaTableLocator.blockUntilAvailable(MetaTableLocator.java:561) >> at >> org.apache.hadoop.hbase.client.ZooKeeperRegistry.getMetaRegionLocation(ZooKeeperRegistry.java:61) >> at >> org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateMeta(ConnectionManager.java:1211) >> at >> org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1178) >> at >> org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:305) >> at >> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:156) >> at >> org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:60) >> at >> org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:210) >> ... 39 more >> >> On Mon, Apr 22, 2019 at 4:26 PM William Shen <[email protected]> >> wrote: >> >>> Not sure if it's a local issue unique to my setup, but when I set up my >>> Java client to use 4.14.2, I encounter the follow upon making a JDBC >>> connection. Anyone else? >>> Exception in thread "main" >>> org.apache.phoenix.exception.PhoenixIOException: >>> java.lang.IllegalAccessError: tried to access method >>> com.google.common.base.Stopwatch.<init>()V from class >>> org.apache.hadoop.hbase.zookeeper.MetaTableLocator >>> at >>> org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:144) >>> at >>> org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:1197) >>> at >>> org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1491) >>> at >>> org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:2731) >>> at >>> org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:1115) >>> at >>> org.apache.phoenix.compile.CreateTableCompiler$1.execute(CreateTableCompiler.java:192) >>> at >>> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:408) >>> at >>> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:391) >>> at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) >>> at >>> org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:390) >>> at >>> org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:378) >>> at >>> org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1806) >>> at >>> org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2536) >>> at >>> org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2499) >>> at >>> org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76) >>> at >>> org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2499) >>> at >>> org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:255) >>> at >>> org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:147) >>> at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:221) >>> at java.sql.DriverManager.getConnection(DriverManager.java:664) >>> at java.sql.DriverManager.getConnection(DriverManager.java:208) >>> at >>> com.marin.data.store.connection.ConnectionProvider.getConnection(ConnectionProvider.java:104) >>> at >>> com.marin.data.store.connection.ConnectionProvider.testConnection(ConnectionProvider.java:123) >>> at >>> com.marin.data.store.connection.ConnectionProvider.<init>(ConnectionProvider.java:52) >>> at >>> com.marin.data.store.connection.ConnectionProvider.createInstance(ConnectionProvider.java:66) >>> >>> On Sun, Apr 21, 2019 at 3:00 PM Thomas D'Silva <[email protected]> >>> wrote: >>> >>>> Hello Everyone, >>>> >>>> This is a call for a vote on Apache Phoenix 4.14.2 RC0. This is a patch >>>> release of Phoenix 4.14 and is compatible with Apache HBase 1.2, 1.3 and >>>> 1.4. >>>> The release includes both a source-only release and a convenience binary >>>> release for each supported HBase version. >>>> >>>> This release has feature parity with supported HBase versions and >>>> includes >>>> critical bug fixes for secondary indexes. >>>> >>>> The source tarball, including signatures, digests, etc can be found at: >>>> >>>> https://dist.apache.org/repos/dist/dev/phoenix/apache-phoenix-4.14.2-HBase-1.2-rc0/src/ >>>> >>>> https://dist.apache.org/repos/dist/dev/phoenix/apache-phoenix-4.14.2-HBase-1.3-rc0/src/ >>>> >>>> https://dist.apache.org/repos/dist/dev/phoenix/apache-phoenix-4.14.2-HBase-1.4-rc0/src/ >>>> >>>> The binary artifacts can be found at: >>>> >>>> https://dist.apache.org/repos/dist/dev/phoenix/apache-phoenix-4.14.2-HBase-1.2-rc0/bin/ >>>> >>>> https://dist.apache.org/repos/dist/dev/phoenix/apache-phoenix-4.14.2-HBase-1.3-rc0/bin/ >>>> >>>> https://dist.apache.org/repos/dist/dev/phoenix/apache-phoenix-4.14.2-HBase-1.4-rc0/bin/ >>>> >>>> For a complete list of changes, see: >>>> >>>> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315120&version=12344379 >>>> >>>> Artifacts are signed with my "CODE SIGNING KEY": DFD86C02 >>>> >>>> KEYS file available here: >>>> https://dist.apache.org/repos/dist/dev/phoenix/KEYS >>>> >>>> The hash and tag to be voted upon: >>>> >>>> https://git-wip-us.apache.org/repos/asf?p=phoenix.git;a=commit;h=2a61e639ebc4f373cd9dc3b17e628fd2e3f14c4e >>>> >>>> https://git-wip-us.apache.org/repos/asf?p=phoenix.git;a=commit;h=b9842b6a8f1b94ca148e2f657a5d16da6cb43a41 >>>> >>>> https://git-wip-us.apache.org/repos/asf?p=phoenix.git;a=commit;h=6e2e1bed79961a31d9d01db7e53dc481b7ab521c >>>> >>>> >>>> Vote will be open for at least 72 hours. Please vote: >>>> >>>> [ ] +1 approve >>>> [ ] +0 no opinion >>>> [ ] -1 disapprove (and reason why) >>>> >>>> Thanks, >>>> The Apache Phoenix Team >>>> >>>
