[ 
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)

Reply via email to