[ https://issues.apache.org/jira/browse/HBASE-16023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15331135#comment-15331135 ]
stack commented on HBASE-16023: ------------------------------- bq. 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. Even if the Reader semaphore release runs before we get to the acquire, thats ok? The acquire will just not block when called? Let me know if I misunderstand. > 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)