hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chao Shi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9101) Addendum to pluggable RpcScheduler
Date Wed, 11 Sep 2013 16:13:52 GMT

    [ https://issues.apache.org/jira/browse/HBASE-9101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13764448#comment-13764448

Chao Shi commented on HBASE-9101:

bq. So, try to avoid somersaults so you can get QosFunction. A simple getPriority in RSS would
be ok implemented however folks want to (default would be call QoSFunction on the implementing
RegionServer? Would that work?

Yes. I added getPriority to RSS and make the implementation simply delegate to QosFunction.
Maybe I can simply remove QosFunction and move its logic into HRS, if it's no longer needed.
Also introduced FifoRpcScheduler, which is used by HMaster and testing, where no RegionServerServices
is available.

bq. Why should scheduler or scheduler implemenation be reachable from packages other than
ipc? Can we shut down this public?
bq. Should scheduler instantiation be done by the RpcServer, and not by the HRegionServer?
That would allow encapsulation of scheduler inside ipc package and no leakage outside?

RpcScheduler is referenced by RpcSchedulerFactory, which is in o.a.h.hbase.regionserver, as
it is for creating RpcScheduler for the RS. (mainly because a RpcScheduler instance is used
by both master and RS, but RS may uses a different thread pool config). The name may be misleading,
and perhaps we should rename the factory to HRegionServerRpcSchedulerFactory, a pretty long

Another reason is that the goal for this is to make it pluggable. Other users may implement
their own schedulers, of course in their own packages.
> Addendum to pluggable RpcScheduler
> ----------------------------------
>                 Key: HBASE-9101
>                 URL: https://issues.apache.org/jira/browse/HBASE-9101
>             Project: HBase
>          Issue Type: Improvement
>          Components: IPC/RPC
>            Reporter: Chao Shi
>            Assignee: Chao Shi
>             Fix For: 0.98.0
>         Attachments: hbase-9101.patch, hbase-9101-v2.patch, hbase-9101-v3.patch, hbase-9101-v4.patch
> This patch fixes the review comments from [~stack] and a small fix:
> - Make RpcScheduler fully pluggable. One can write his/her own implementation and add
it to classpath and specify it by config "hbase.region.server.rpc.scheduler.factory.class".
> - Add unit tests and fix that RpcScheduler.stop is not called (discovered by tests)

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

View raw message