[
https://issues.apache.org/jira/browse/HBASE-17088?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Guanghao Zhang updated HBASE-17088:
-----------------------------------
Description:
1. The RWQueueRpcExecutor has eight constructor method and the longest one has
ten parameters. But It is only used in SimpleRpcScheduler and easy to confused
when read the code.
2. There are duplicate method implement in RWQueueRpcExecutor and
BalancedQueueRpcExecutor. They can be implemented in their parent class
RpcExecutor.
3. SimpleRpcScheduler read many configs to new RpcExecutor. But the
CALL_QUEUE_SCAN_SHARE_CONF_KEY is only needed by RWQueueRpcExecutor. And
CALL_QUEUE_CODEL_TARGET_DELAY, CALL_QUEUE_CODEL_INTERVAL and
CALL_QUEUE_CODEL_LIFO_THRESHOLD are only needed by AdaptiveLifoCoDelCallQueue.
So I thought we can refactor it. Suggestions are welcome.
Review board: https://reviews.apache.org/r/53726/
was:
1. The RWQueueRpcExecutor has eight constructor method and the longest one has
ten parameters. But It is only used in SimpleRpcScheduler and easy to confused
when read the code.
2. There are duplicate method implement in RWQueueRpcExecutor and
BalancedQueueRpcExecutor. They can be implemented in their parent class
RpcExecutor.
3. SimpleRpcScheduler read many configs to new RpcExecutor. But the
CALL_QUEUE_SCAN_SHARE_CONF_KEY is only needed by RWQueueRpcExecutor. And
CALL_QUEUE_CODEL_TARGET_DELAY, CALL_QUEUE_CODEL_INTERVAL and
CALL_QUEUE_CODEL_LIFO_THRESHOLD are only needed by AdaptiveLifoCoDelCallQueue.
So I thought we can refactor it. Suggestions are welcome.
> Refactor RWQueueRpcExecutor/BalancedQueueRpcExecutor/RpcExecutor
> ----------------------------------------------------------------
>
> Key: HBASE-17088
> URL: https://issues.apache.org/jira/browse/HBASE-17088
> Project: HBase
> Issue Type: Improvement
> Components: rpc
> Affects Versions: 2.0.0
> Reporter: Guanghao Zhang
> Assignee: Guanghao Zhang
> Attachments: HBASE-17088-v1.patch
>
>
> 1. The RWQueueRpcExecutor has eight constructor method and the longest one
> has ten parameters. But It is only used in SimpleRpcScheduler and easy to
> confused when read the code.
> 2. There are duplicate method implement in RWQueueRpcExecutor and
> BalancedQueueRpcExecutor. They can be implemented in their parent class
> RpcExecutor.
> 3. SimpleRpcScheduler read many configs to new RpcExecutor. But the
> CALL_QUEUE_SCAN_SHARE_CONF_KEY is only needed by RWQueueRpcExecutor. And
> CALL_QUEUE_CODEL_TARGET_DELAY, CALL_QUEUE_CODEL_INTERVAL and
> CALL_QUEUE_CODEL_LIFO_THRESHOLD are only needed by AdaptiveLifoCoDelCallQueue.
> So I thought we can refactor it. Suggestions are welcome.
> Review board: https://reviews.apache.org/r/53726/
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)