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-16023) Fastpath for the FIFO rpcscheduler
Date Wed, 15 Jun 2016 04:26:09 GMT

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

Hiroshi Ikeda commented on HBASE-16023:
---------------------------------------

{code}
    protected CallRunner getCallRunner() throws InterruptedException {
      // Get a callrunner if one in the Q.
      CallRunner cr = this.q.poll();
      if (cr == null) {
        // Else, if a fastPathHandlerStack present and no callrunner in Q, register ourselves
for
        // the fastpath handoff done via fastPathHandlerStack.
        if (this.fastPathHandlerStack != null) {
          this.fastPathHandlerStack.push(this);
          this.semaphore.acquire();
{code}

Checking no task and waiting on the semaphore is not atomic, and it is possible that a reader
queues a task while a worker are going to waiting on the semaphore.

There might be no simple way to implement without a flaw.

> Fastpath for the FIFO rpcscheduler
> ----------------------------------
>
>                 Key: HBASE-16023
>                 URL: https://issues.apache.org/jira/browse/HBASE-16023
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Performance, rpc
>    Affects Versions: 2.0.0, 1.3.0
>            Reporter: stack
>            Assignee: stack
>             Fix For: 2.0.0, 1.3.0
>
>         Attachments: HBASE-16023.branch-1.001.patch, hits.nofifo.fifoplusfp.fifownofp.hacks.png
>
>
> This is an idea copied from kudu where we skip queuing a request if there is a handler
ready to go; we just do a direct handoff from reader to handler.
> Makes for close to a %20 improvement in random read workloadc testing moving the bottleneck
to HBASE-15716 and to returning the results.



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

Mime
View raw message