[
https://issues.apache.org/jira/browse/HBASE-16023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15338883#comment-15338883
]
Hiroshi Ikeda commented on HBASE-16023:
---------------------------------------
Other worrying things:
{code}
protected CallRunner getCallRunner() throws InterruptedException {
...skip...
if (this.fastPathHandlerStack != null) {
this.fastPathHandlerStack.push(this);
this.semaphore.acquire();
cr = this.loadedCallRunner;
} else {
{code}
The loadedCallRunner should be set to null after passing, otherwise that would
become sort of memory leak (in low load).
It is not a bug but
{code}
private Semaphore semaphore = new Semaphore(1);
...skip...
FastPathHandler(String name, double handlerFailureThreshhold,
BlockingQueue<CallRunner> q,
...skip...
this.semaphore.drainPermits();
{code}
It is better to just create an instance of Semaphore with no permit.
> 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.addenum.patch,
> 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)