Chao Shi created HBASE-8884:
-------------------------------
Summary: Pluggable RpcScheduler
Key: HBASE-8884
URL: https://issues.apache.org/jira/browse/HBASE-8884
Project: HBase
Issue Type: Improvement
Components: IPC/RPC
Reporter: Chao Shi
Today, the RPC scheduling mechanism is pretty simple: it execute requests in
isolated thread-pools based on their priority. In the current implementation,
all normal get/put requests are using the same pool. We'd like to add some
per-user or per-region level isolation, so that a misbehaved user/region will
not saturate the thread-pool and cause DoS to others easily. The idea is
similar to FairScheduler in MR. The current scheduling code is not standalone
and is mixed with others (Connection#processRequest). The issue is the first
step to extract it to an interface, so that people are free to write and test
their own implementations.
This patch doesn't make it completely pluggable yet, as some parameters are
pass from constructor. This is because HMaster and HRegionServer both use
RpcServer and they have different thread-pool size config. Let me know if you
have a solution to this.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira