Master goes to infinite loop if AccessControlException occurs while setting
cluster id during initialization
-------------------------------------------------------------------------------------------------------------
Key: HBASE-5779
URL: https://issues.apache.org/jira/browse/HBASE-5779
Project: HBase
Issue Type: Bug
Affects Versions: 0.92.1
Reporter: Shrijeet Paliwal
Steps to reproduce:
- change permission of /hbase to a user other than one running hbase
- delete hbase.id if already exists
- start master, it will try to create cluster ID file in /hbase and fail while
doing so with org.apache.hadoop.security.AccessControlException
>From this point it will go to infinite loop.
Reason: org.apache.hadoop.hbase.util.FSUtils.setClusterId has a wait > 0 and
no control over retries when called during master initialization.
Quoting : checkRootDir in MasterFileSystem
{noformat}
// Make sure cluster ID exists
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));
}
{noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira