[ 
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

        

Reply via email to