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

Ted Yu commented on HBASE-16732:
--------------------------------

lgtm

nit: the following can be moved into the if block:
{code}
484         String pattern = 
conf.get("zookeeper.znode.metaserver","meta-region-server");
{code}

> Avoid possible NPE in MetaTableLocator
> --------------------------------------
>
>                 Key: HBASE-16732
>                 URL: https://issues.apache.org/jira/browse/HBASE-16732
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Jerry He
>            Assignee: Jerry He
>            Priority: Minor
>             Fix For: 2.0.0, 1.3.0, 1.4.0, 1.2.4
>
>         Attachments: HBASE-16732.patch
>
>
> {noformat}
> java.lang.NullPointerException: null
>         at 
> org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.getMetaReplicaNodes(ZooKeeperWatcher.java:489)
>         at 
> org.apache.hadoop.hbase.zookeeper.MetaTableLocator.blockUntilAvailable(MetaTableLocator.java:549)
>         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:200)
>         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:804)
>         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:396)
>         at 
> com.thinkaurelius.titan.diskstorage.hbase.HBaseAdmin1_2.clearTable(HBaseAdmin1_2.java:38)
>         at 
> com.thinkaurelius.titan.diskstorage.hbase.HBaseStoreManager.clearStorage(HBaseStoreManager.java:483)
> {noformat}
> It happens when hbase is not fully up, and the client comes in.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to