[
https://issues.apache.org/jira/browse/HBASE-4528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13132523#comment-13132523
]
ramkrishna.s.vasudevan commented on HBASE-4528:
-----------------------------------------------
@Dhruba
I found one more thing using the testcase TestParallelPut.java. If the
LogSyncer thread starts running first time the unflushedEntries will be 0 and
syncedTillHere will also be 0.
Now first put will make this unFlushedEntries to be 1. Now the LogSyncer
thread will check for the condition
{code}
try {
if (unflushedEntries.get() <= syncedTillHere) {
Thread.sleep(this.optionalFlushInterval);
}
sync();
}
{code}
now there is a chance that just after the append is completed to HLog before
the lock gets released the entry may be synced because of LogFlusher Thread.
Is it ok ? Pls correct me if am wrong. I think it should not be a problem but
syncing will happen in 2 different places.
> The put operation can release the rowlock before sync-ing the Hlog
> ------------------------------------------------------------------
>
> Key: HBASE-4528
> URL: https://issues.apache.org/jira/browse/HBASE-4528
> Project: HBase
> Issue Type: Improvement
> Components: regionserver
> Reporter: dhruba borthakur
> Assignee: dhruba borthakur
> Fix For: 0.94.0
>
> Attachments: appendNoSync5.txt, appendNoSyncPut1.txt,
> appendNoSyncPut2.txt, appendNoSyncPut3.txt, appendNoSyncPut4.txt,
> appendNoSyncPut5.txt, appendNoSyncPut6.txt
>
>
> This allows for better throughput when there are hot rows. A single row
> update improves from 100 puts/sec/server to 5000 puts/sec/server.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira