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

Dave Latham commented on HBASE-8877:
------------------------------------

Thanks everyone for your attention, help, and patience, and especially Lars for 
getting it committed.  I added a Release Note to note the incompatible change 
to the RegionObserver.  I'm also curious about the integration failure messages 
from Jenkins.  Particularly the first two where the console doesn't show any 
test failures.
                
> Reentrant row locks
> -------------------
>
>                 Key: HBASE-8877
>                 URL: https://issues.apache.org/jira/browse/HBASE-8877
>             Project: HBase
>          Issue Type: Bug
>          Components: Coprocessors, regionserver
>         Environment: Changed the coprocessor RegionObserver methods 
> preBatchMutate and postBatchMutate to remove the lock ids from the methods as 
> lock ids are not longer used.
>            Reporter: Dave Latham
>            Assignee: Dave Latham
>             Fix For: 0.98.0, 0.95.2
>
>         Attachments: hbase-8877-0.94-microbenchmark.txt, 
> HBASE-8877-0.94.patch, HBASE-8877-0.94-v2.patch, HBASE-8877.patch, 
> hbase-8877-refCounts-microbenchmarks.txt, HBASE-8877-refCounts.patch, 
> HBASE-8877-refCounts-v2.patch, HBASE-8877-refCounts-v3.patch, 
> HBASE-8877-refCounts-v4.patch, HBASE-8877-refCounts-v5.patch, 
> HBASE-8877-v2.patch, HBASE-8877-v3.patch, hbase-8877-v4-microbenchmark.txt, 
> HBASE-8877-v4.patch, HBASE-8877-v5.patch, HBASE-8877-v6.patch, 
> HBASE-8877-v7.patch
>
>
> HBASE-8806 revealed performance problems with batch mutations failing to 
> reacquire the same row locks.  It looks like HBASE-8806 will use a less 
> intrusive change for 0.94 to have batch mutations track their own row locks 
> and not attempt to reacquire them.  Another approach will be to support 
> reentrant row locks directly.  This allows simplifying a great deal of 
> calling code to no longer track and pass around lock ids.
> One affect this change will have is changing the RegionObserver coprocessor's 
> methods preBatchMutate and postBatchMutate from taking a 
> {{MiniBatchOperationInProgress<Pair<Mutation, Integer>> miniBatchOp}} to 
> taking a {{MiniBatchOperationInProgress<Mutation> miniBatchOp}}.  I don't 
> believe CPs should be relying on these lock ids, but that's a potential 
> incompatibility.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to