hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiroshi Ikeda (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-14479) Apply the Leader/Followers pattern to RpcServer's Reader
Date Tue, 20 Oct 2015 02:54:27 GMT

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

    (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)?

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

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

View raw message