[ https://issues.apache.org/jira/browse/HBASE-13388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14392628#comment-14392628 ]
Vikas Vishwakarma commented on HBASE-13388: ------------------------------------------- ZKUtil.getData can return null because of which the next debug log can hit NullPointer at data.length {noformat} byte[] data = ZKUtil.getData(zkController.getWatcher(), path); LOG.debug("start proc data length is " + data.length); if (!ProtobufUtil.isPBMagicPrefix(data)) { {noformat} Null check for data is handled in ProtobufUtil.isPBMagicPrefix(data) which will ultimately throw IllegalArgumentException, so moving the debug log to after this check should avoid the Nullpointer. Does not have a functional impact but is cleaner. > Handling NullPointer in ZKProcedureMemberRpcs while getting ZNode data > ---------------------------------------------------------------------- > > Key: HBASE-13388 > URL: https://issues.apache.org/jira/browse/HBASE-13388 > Project: HBase > Issue Type: Bug > Affects Versions: 2.0.0 > Reporter: Vikas Vishwakarma > Assignee: Vikas Vishwakarma > Priority: Minor > Fix For: 2.0.0 > > Attachments: HBASE-13388.patch > > > Handling a minor NullPointer in ZKProcedureMemberRpcs while getting ZNode > data. Does not have any functional impact is just a little cleaner > 2015-04-01 10:04:32,913 INFO [ver60020-EventThread] > procedure.ZKProcedureMemberRpcs - Received procedure start children changed > event: /hbase/online-snapshot/acquired > 2015-04-01 10:04:32,913 DEBUG [ver60020-EventThread] > procedure.ZKProcedureMemberRpcs - Looking for new procedures under > znode:'/hbase/online-snapshot/acquired' > 2015-04-01 10:04:32,916 DEBUG [ver60020-EventThread] > procedure.ZKProcedureMemberRpcs - Found procedure znode: > /hbase/online-snapshot/acquired/test13 > 2015-04-01 10:04:32,917 ERROR [ver60020-EventThread] zookeeper.ClientCnxn - > Error while calling watcher > java.lang.NullPointerException > at > org.apache.hadoop.hbase.procedure.ZKProcedureMemberRpcs.startNewSubprocedure(ZKProcedureMemberRpcs.java:203) > at > org.apache.hadoop.hbase.procedure.ZKProcedureMemberRpcs.waitForNewProcedures(ZKProcedureMemberRpcs.java:172) > at > org.apache.hadoop.hbase.procedure.ZKProcedureMemberRpcs.access$100(ZKProcedureMemberRpcs.java:55) > at > org.apache.hadoop.hbase.procedure.ZKProcedureMemberRpcs$1.nodeChildrenChanged(ZKProcedureMemberRpcs.java:107) > at > org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.process(ZooKeeperWatcher.java:351) > at > org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:522) > at > org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:498) > 2015-04-01 10:04:32,917 INFO [ver60020-EventThread] > procedure.ZKProcedureMemberRpcs - Received procedure start children changed > event: /hbase/online-snapshot/acquired > 2015-04-01 10:04:32,917 DEBUG [ver60020-EventThread] > procedure.ZKProcedureMemberRpcs - Looking for new procedures under > znode:'/hbase/online-snapshot/acquired' > 2015-04-01 10:04:32,918 INFO [ver60020-EventThread] > procedure.ZKProcedureMemberRpcs - Received procedure abort children changed > event: /hbase/online-snapshot/abort > 2015-04-01 10:04:32,918 DEBUG [ver60020-EventThread] > procedure.ZKProcedureMemberRpcs - Checking for aborted procedures on node: > '/hbase/online-snapshot/abort' -- This message was sent by Atlassian JIRA (v6.3.4#6332)