You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jean-Marc Spaggiari (JIRA)" <ji...@apache.org> on 2014/05/17 03:27:14 UTC

[jira] [Commented] (HBASE-11192) HBase ClusterId File Empty Check Loggic

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

Jean-Marc Spaggiari commented on HBASE-11192:
---------------------------------------------

FSUtils.getClusterId() will return null because your file is empty and will store null in clusterId too. And this value is used later for many other operations. You should have an entry on your logs saying that ID can not be retrieved. This is normal for HBase to not start in those conditions. I don't think this is a big. Can you please confirm the master is down after that? It should.

> HBase ClusterId File Empty Check Loggic
> ---------------------------------------
>
>                 Key: HBASE-11192
>                 URL: https://issues.apache.org/jira/browse/HBASE-11192
>             Project: HBase
>          Issue Type: Bug
>         Environment: HBase 0.94+Hadoop2.2.0+Zookeeper3.4.5
>            Reporter: sunjingtao
>
> if the clusterid file exists but empty ,then the following check logic in the MasterFileSystem.java has none effects.
>     if (!FSUtils.checkClusterIdExists(fs, rd, c.getInt(
>         HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000))) {
>           FSUtils.setClusterId(fs, rd, UUID.randomUUID().toString(), c.getInt(
>           HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000));
>     }
>     clusterId = FSUtils.getClusterId(fs, rd);
> because the checkClusterIdExists method only check the path .
>         Path filePath = new Path(rootdir, HConstants.CLUSTER_ID_FILE_NAME);
>         return fs.exists(filePath);
> in my case ,the file exists but is empty,so the readed clusterid is null which cause a nullPointerException:
> java.lang.NullPointerException
> 	at org.apache.hadoop.hbase.util.Bytes.toBytes(Bytes.java:441)
> 	at org.apache.hadoop.hbase.zookeeper.ClusterId.setClusterId(ClusterId.java:72)
> 	at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:581)
> 	at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:433)
> 	at java.lang.Thread.run(Thread.java:745)
> is this a bug?please make sure!



--
This message was sent by Atlassian JIRA
(v6.2#6252)