Details
Description
The current implementation of the memory locking feature of regisoservers has a downside of not being flexible to configure for permanent use. Sure there is a --mlock flag but that needs to be explicitly passed on every invocation and thus require extra steps to be configured for permanent use (IOW, there's not a single env variable I can set to have a desired effect). The only other alternative – the explicit setting of HBASE_REGIONSERVER_OPTS – has a downside of being pretty cryptic to the novice user and has a killer problem of not explicitly telling higher level scripts (like init.d or upstart ones) which user the initial hbase process should be executed as.
I propose a very simple solution (which is essentially making --mlock setting into an env. variable): add a variable called HBASE_REGIONSERVER_MLOCK that can be set in hbase-env.sh and has the following semantics:
- [default] not set: mlocking feature is disabled
- set but empty: mlocking feature is enabled and the target user is hbase
- set and not empty: mlocking feature is enabled and the target user is the value of the variable
Thoughts?
Attachments
Attachments
Issue Links
- supercedes
-
HBASE-4391 Add ability to start RS as root and call mlockall
- Closed