You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "sunjingtao (JIRA)" <ji...@apache.org> on 2014/05/16 13:12:39 UTC

[jira] [Created] (HBASE-11191) HBase ClusterId File Empty Check Loggic

sunjingtao created HBASE-11191:
----------------------------------

             Summary: HBase ClusterId File Empty Check Loggic
                 Key: HBASE-11191
                 URL: https://issues.apache.org/jira/browse/HBASE-11191
             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)