Hi Aaron, I feel like I've seen this one before, but I'm not totally sure.
What I would look at first is a possible hbase-xxx version issue. Something along these lines that I've seen in the past is that another uber-jar JDBC driver that is on the classpath also contains hbase or zookeeper classes and those get picked up first, causing strange errors like this. That being said, the classpath appears to be printed out at the start of your logging statement and I don't see anything too suspect there. Another thing I would look at is your root zookeeper node. I think I remember seeing in a previous mail from you that you were using a non-default root zookeeper node for hbase (/hbase-unsecure or something similar). It could be that this isn't being picked up (or isn't being correctly specified), which could possibly lead to an error like this. - Gabriel On Sun, Aug 21, 2016 at 5:11 AM, Aaron Molitor <[email protected]> wrote: > Trying to use IntelliJ's database client to connect to phoenix and getting an > error. I am able to connect with other JDBC apps (Jmeter, DbVisualizer). I'm > guessing that the NPE is indicating that there's something missing in the > connection setup, but it is escaping me right now. Either that or is > IntelliJ doing something on the JBDC connection that isn't implemented yet > (like some type of metadata call). > > Has anyone tried this with IntelliJ (2016.2 Ultimate Edition) > > Thanks, > Aaron > > Here's the error: > 2016-08-20 21:38:27,759 [17060014] INFO - ution.rmi.RemoteProcessSupport - > "/Applications/IntelliJ IDEA.app/Contents/jre/jdk/Contents/Home/jre/bin/java" > -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 -classpath > "/Applications/IntelliJ IDEA.app/Contents/lib/util.jar:/Applications/IntelliJ > IDEA.app/Contents/lib/trove4j.jar:/Applications/IntelliJ > IDEA.app/Contents/lib/groovy-all-2.4.6.jar:/Applications/IntelliJ > IDEA.app/Contents/plugins/DatabaseTools/lib/jdbc-console.jar:/Applications/IntelliJ > > IDEA.app/Contents/plugins/DatabaseTools/lib/dekaf-single-2.0.0.264.jar:/Users/ammolitor/Library/Preferences/IntelliJIdea2016.2/jdbc-drivers/phoenix-4.8.0-HBase-1.1-client.jar" > com.intellij.database.remote.RemoteJdbcServer > org.apache.phoenix.jdbc.PhoenixDriver > 2016-08-20 21:38:27,973 [17060228] INFO - ution.rmi.RemoteProcessSupport - > Port/ID: 43714/RemoteDriverImpl3a4adccb > 2016-08-20 21:38:28,044 [17060299] INFO - ase.dataSource.LocalDataSource - > Connecting to: > jdbc:phoenix:stl-colo-srv073.splicemachine.colo:2181:/hbase-unsecure > 2016-08-20 21:38:28,102 [17060357] WARN - ution.rmi.RemoteProcessSupport - > log4j:WARN No appenders could be found for logger > (org.apache.hadoop.metrics2.lib.MutableMetricsFactory). > 2016-08-20 21:38:28,102 [17060357] WARN - ution.rmi.RemoteProcessSupport - > log4j:WARN Please initialize the log4j system properly. > 2016-08-20 21:38:28,102 [17060357] WARN - ution.rmi.RemoteProcessSupport - > log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more > info. > 2016-08-20 21:38:29,120 [17061375] WARN - ase.dataSource.LocalDataSource - > Connecting to: > jdbc:phoenix:stl-colo-srv073.splicemachine.colo:2181:/hbase-unsecure > 2016-08-20 21:38:29,120 [17061375] WARN - ase.dataSource.LocalDataSource - > java.lang.RuntimeException: java.lang.NullPointerException > 2016-08-20 21:38:29,120 [17061375] WARN - lij.database.util.ErrorHandler - > java.lang.RuntimeException: java.lang.NullPointerException > java.sql.SQLException: java.lang.RuntimeException: > java.lang.NullPointerException > at > org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2575) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2300) > at > org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:78) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2300) > at > org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:231) > at > org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:144) > at > org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:202) > at > com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:27) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323) > at sun.rmi.transport.Transport$1.run(Transport.java:200) > at sun.rmi.transport.Transport$1.run(Transport.java:197) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:196) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) > at java.security.AccessController.doPrivileged(Native Method) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > at > sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276) > at > sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253) > at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162) > at > java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227) > at > java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179) > at com.sun.proxy.$Proxy126.connect(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > com.intellij.execution.rmi.RemoteUtil.invokeRemote(RemoteUtil.java:169) > at > com.intellij.execution.rmi.RemoteUtil.access$300(RemoteUtil.java:36) > at > com.intellij.execution.rmi.RemoteUtil$RemoteInvocationHandler.invoke(RemoteUtil.java:274) > at com.sun.proxy.$Proxy127.connect(Unknown Source) > at > com.intellij.database.dataSource.LocalDataSource.getConnection(LocalDataSource.java:350) > at > com.intellij.database.dataSource.LocalDataSource.getConnection(LocalDataSource.java:318) > at > com.intellij.database.dataSource.LocalDataSource.performJdbcOperation(LocalDataSource.java:1357) > at > com.intellij.database.dataSource.LocalDataSource.refreshMetaData(LocalDataSource.java:1145) > at > com.intellij.database.dataSource.DataSourceUiUtil$RefreshTask.run(DataSourceUiUtil.java:501) > at > com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:635) > at > com.intellij.openapi.progress.impl.CoreProgressManager$3.run(CoreProgressManager.java:170) > at > com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:494) > at > com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:443) > at > com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54) > at > com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:155) > at > com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:128) > at > com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:308) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.RuntimeException: java.lang.NullPointerException > at > org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:208) > at > org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:320) > at > org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:295) > at > org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:160) > at > org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:155) > at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:821) > 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:392) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2333) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl$13.call(ConnectionQueryServicesImpl.java:2300) > at > org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:78) > at > org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2300) > at > org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:231) > at > org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:144) > at > org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:202) > at > com.intellij.database.remote.jdbc.impl.RemoteDriverImpl.connect(RemoteDriverImpl.java:27) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323) > at sun.rmi.transport.Transport$1.run(Transport.java:200) > at sun.rmi.transport.Transport$1.run(Transport.java:197) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:196) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) > at java.security.AccessController.doPrivileged(Native Method) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) > ... 3 more > Caused by: java.lang.NullPointerException > at > org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.getMetaReplicaNodes(ZooKeeperWatcher.java:395) > at > org.apache.hadoop.hbase.zookeeper.MetaTableLocator.blockUntilAvailable(MetaTableLocator.java:553) > at > org.apache.hadoop.hbase.client.ZooKeeperRegistry.getMetaRegionLocation(ZooKeeperRegistry.java:61) > at > org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateMeta(ConnectionManager.java:1186) > at > org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1153) > at > org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:300) > at > org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:155) > at > org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:59) > at > org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200) > ... 33 more
