[ https://issues.apache.org/jira/browse/HBASE-5541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13225898#comment-13225898 ]
Lars Hofhansl commented on HBASE-5541: -------------------------------------- When we get to the CP post hooks all locks are released, the WAL is synched, and the mvcc is rolled forward. No edit will be removed from the memstore (that only happens when the wal sync fails). What that means is that a post hook cannot undo the operation (the same as standalone Put and Delete). I spent some time trying to poke holes in the design, I think it is tight. > 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