[
https://issues.apache.org/jira/browse/HBASE-15714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15262704#comment-15262704
]
Enis Soztutar commented on HBASE-15714:
---------------------------------------
getRowLock() is called from
(1) HRegion.doMiniBatchMutate()
(2) HRegion.doCheckAndRowMutate()
(3) HRegion.doDelta()
(4) HRegion.processRowsWithLocks()
I like the approach of doing the getRowLockInternal() since getRowLock() is
exposed in Region interface. So it is better to have the version with the check
exposed. However, for this patch, let's change all the paths (2), (3) and (4)
to skip the check. (1), (3) and (4) already calls checkRow(). We can add an
explicit {{checkRow()}} to (2) and switch that to use the getRowLockInternal()
as well, to be similar to the other calls.
> We are calling checkRow() twice in doMiniBatchMutation()
> --------------------------------------------------------
>
> Key: HBASE-15714
> URL: https://issues.apache.org/jira/browse/HBASE-15714
> Project: HBase
> Issue Type: Bug
> Reporter: Enis Soztutar
> Fix For: 2.0.0, 1.4.0
>
> Attachments: HBASE-15714.patch
>
>
> In {{multi()}} -> {{doMiniBatchMutation()}} code path, we end up calling
> {{checkRow()}} twice, once from {{checkBatchOp()}} and once from
> {{getRowLock()}}.
> See [~anoop.hbase]'s comments at
> https://issues.apache.org/jira/browse/HBASE-15600?focusedCommentId=15257636&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15257636.
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)