Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
HBase-2.2.3
Java openjdk 1.8.0_222
Ubuntu 18.04
Description
Summary
The configuration parameter `hbase.hstore.flusher.count` allows `0` (which turns out to be a bad value after I understand the source code).
When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 ms without any error message, but
```
java.lang.RuntimeException: Master not initialized after 200000ms
```
There’s no messages pinpointing `hbase.hstore.flusher.count` being the root cause.
0 means `MemStoreFlusher` is not alive. During the initialization time of HMaster, `isHealthy()` will be called and it will try to check if `MemStoreFlusher` is alive or not. However, since we set `hbase.hstore.flusher.count` to 0, there will be no flusher created at the first place, which cause`isHealthy()` to return false. As a consequence, HRegionServer does not enter its main loop.
How To Reproduce
The version of HBase: 2.2.3
- Set the value of configuration parameter `hbase.hstore.flusher.count` to `0` in “conf/hbase-site.xml”
- Start hbase by running “bin/start-hbase.sh”
- Wait for 3-4 minutes
- Open the log file “logs/hbase-<username>- master -<pcname>.log”