[ https://issues.apache.org/jira/browse/HBASE-8884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13713201#comment-13713201 ]
Hudson commented on HBASE-8884: ------------------------------- SUCCESS: Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #623 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/623/]) HBASE-8884 Pluggable RpcScheduler (Chao Shi) (tedyu: rev 1504584) * /hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapperImpl.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcScheduler.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServerInterface.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestDelayedRpc.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestIPC.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestProtoBufRpc.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java > 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 > Assignee: Chao Shi > Fix For: 0.98.0 > > Attachments: hbase-8884.patch, hbase-8884-v2.patch, > hbase-8884-v3.patch, hbase-8884-v4.patch, hbase-8884-v5.patch, > hbase-8884-v6.patch, hbase-8884-v7.patch, hbase-8884-v8.patch > > > 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