[ 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