[
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