1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.hbase.regionserver;
19
20 import org.apache.hadoop.conf.Configuration;
21 import org.apache.hadoop.hbase.Abortable;
22 import org.apache.hadoop.hbase.HBaseInterfaceAudience;
23 import org.apache.hadoop.hbase.HConstants;
24 import org.apache.hadoop.hbase.classification.InterfaceAudience;
25 import org.apache.hadoop.hbase.classification.InterfaceStability;
26 import org.apache.hadoop.hbase.ipc.PriorityFunction;
27 import org.apache.hadoop.hbase.ipc.RpcScheduler;
28 import org.apache.hadoop.hbase.ipc.SimpleRpcScheduler;
29
30
31 @InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})
32 @InterfaceStability.Evolving
33 public class SimpleRpcSchedulerFactory implements RpcSchedulerFactory {
34
35 @Override
36 @Deprecated
37 public RpcScheduler create(Configuration conf, PriorityFunction priority) {
38 return create(conf, priority, null);
39 }
40
41 @Override
42 public RpcScheduler create(Configuration conf, PriorityFunction priority, Abortable server) {
43 int handlerCount = conf.getInt(HConstants.REGION_SERVER_HANDLER_COUNT,
44 HConstants.DEFAULT_REGION_SERVER_HANDLER_COUNT);
45
46 return new SimpleRpcScheduler(
47 conf,
48 handlerCount,
49 conf.getInt(HConstants.REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT,
50 HConstants.DEFAULT_REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT),
51 conf.getInt(HConstants.REGION_SERVER_REPLICATION_HANDLER_COUNT,
52 HConstants.DEFAULT_REGION_SERVER_REPLICATION_HANDLER_COUNT),
53 priority,
54 server,
55 HConstants.QOS_THRESHOLD);
56 }
57
58 }