[ 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