Description
Scenario:
- Ambari metrics service uses HBase in standalone mode
- On restart of AMS HBase, the Master gives up in 30 seconds due to a hardcoded timeout in JVMClusterUtil
2016-07-18 19:24:44,199 ERROR [main] master.HMasterCommandLine: Master exiting java.lang.RuntimeException: Master not active after 30 seconds at org.apache.hadoop.hbase.util.JVMClusterUtil.startup(JVMClusterUtil.java:194) at org.apache.hadoop.hbase.LocalHBaseCluster.startup(LocalHBaseCluster.java:445) at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:227) at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:139) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126) at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2526)
- On restart the current Master waits to become active and this leads to the timeout being triggered, waiting for a slightly longer time evades this issue.
- The timeout it seems was meant for unit tests
Attached patch allows the timeout to be configured via hbase-site as well as sets it to 5 minutes for clusters started through HMasterCommandLine.