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)