[ 
https://issues.apache.org/jira/browse/HBASE-5541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13225786#comment-13225786
 ] 

Lars Hofhansl commented on HBASE-5541:
--------------------------------------

Re: Duplicate code. Yeah there is a bunch of that.
Between mutateRowsWithLocks, doMiniBatchPut, and processRow there is lot of 
duplicated code.
Scott started to make it better in HBASE-5542. Need to go through and see how 
we can share code from doMiniBatchPut too.

They are slightly different, though. doMiniBatchPut does a best effort write. 
If some puts fail it continues with the ones that succeed. For 
mutateRowsWithLocks and processRow all ops need to succeed.

                
> Avoid holding the rowlock during HLog sync in HRegion.mutateRowWithLocks
> ------------------------------------------------------------------------
>
>                 Key: HBASE-5541
>                 URL: https://issues.apache.org/jira/browse/HBASE-5541
>             Project: HBase
>          Issue Type: Sub-task
>          Components: client, regionserver
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>             Fix For: 0.94.0
>
>         Attachments: 5541-v2.txt, 5541.txt
>
>
> Currently mutateRowsWithLocks holds the row lock while the HLog is sync'ed.
> Similar to what we do in doMiniBatchPut, we should create the log entry with 
> the lock held, but only sync the HLog after the lock is released, along with 
> rollback logic in case the sync'ing fails.

--
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