[ https://issues.apache.org/jira/browse/HBASE-4487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13118183#comment-13118183 ]
dhruba borthakur commented on HBASE-4487: ----------------------------------------- Hi Ramakrishna, from my understanding, HLog.syncer() used to acquire the updateLock and then check this.closed, then used to *release* the updateLock and proceed with the sync. So, essentially the check was providing no protection against the concurrent execution of the body of the code in syncer() vs some other thread marking this.closed to true. But I agree with you, that even prior to this patch, there is a rare possibility that a region server shutdown (via HLog.close) can race with a HLog.sync() that is in progress and cause exceptions. If I can recreate that race in a test case, I will submit it as part of another JIRA, does that sound reasonable? > The increment operation can release the rowlock before sync-ing the Hlog > ------------------------------------------------------------------------ > > Key: HBASE-4487 > URL: https://issues.apache.org/jira/browse/HBASE-4487 > Project: HBase > Issue Type: Improvement > Reporter: dhruba borthakur > Assignee: dhruba borthakur > Fix For: 0.94.0 > > Attachments: appendNoSync4.txt, appendNoSync5.txt, appendNoSync6.txt > > > This allows for better throughput when there are hot rows.I have seen this > change make a single row update improve from 400 increments/sec/server to > 4000 increments/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