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

Hiroshi Ikeda commented on HBASE-14479:
---------------------------------------

Sorry for my late response.

{quote}
    (It seems a strange usage but I want to put it aside for now).

Does this mean you want to change the patch or just that you think it fine as 
is; it is just that the implementation is a little odd (all executors are 
contending on single instance of the Reader Runnable)?
{quote}

Yes, that works as is. I feel old because that executor creates the fixed 
number of threads and adjust each thread to just take one task. Executors are 
for handling tasks independent of threads. I think it is enough to just 
explicitly create threads in a thread group, but anyway that is not a practical 
problem.

As to FSHLog, I have taken a little time to think, but it is too complex and I 
can't say for certain.

I want to say one thing to make sure about the pattern; In general, the main 
advantage of the Leader/Followers pattern is the possibility for us to make a 
response without blocks in the same thread. In this jira issue, the benefit is 
not from this main advantage because we just add the requests to queues.


> Apply the Leader/Followers pattern to RpcServer's Reader
> --------------------------------------------------------
>
>                 Key: HBASE-14479
>                 URL: https://issues.apache.org/jira/browse/HBASE-14479
>             Project: HBase
>          Issue Type: Improvement
>          Components: IPC/RPC, Performance
>            Reporter: Hiroshi Ikeda
>            Assignee: Hiroshi Ikeda
>            Priority: Minor
>         Attachments: HBASE-14479-V2 (1).patch, HBASE-14479-V2.patch, 
> HBASE-14479-V2.patch, HBASE-14479.patch, gc.png, gets.png, io.png, median.png
>
>
> {{RpcServer}} uses multiple selectors to read data for load distribution, but 
> the distribution is just done by round-robin. It is uncertain, especially for 
> long run, whether load is equally divided and resources are used without 
> being wasted.
> Moreover, multiple selectors may cause excessive context switches which give 
> priority to low latency (while we just add the requests to queues), and it is 
> possible to reduce throughput of the whole server.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to