You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jimmy Xiang (JIRA)" <ji...@apache.org> on 2012/12/03 19:43:59 UTC

[jira] [Created] (HBASE-7261) batchMutate/put release the same lock twice

Jimmy Xiang created HBASE-7261:
----------------------------------

             Summary: batchMutate/put release the same lock twice
                 Key: HBASE-7261
                 URL: https://issues.apache.org/jira/browse/HBASE-7261
             Project: HBase
          Issue Type: Bug
            Reporter: Jimmy Xiang
            Assignee: Jimmy Xiang


Put uses batchMutate to do the actual work.  Put calls startRegionOperation/closeRegionOperation.  BatchMutate does the same.  If the same thread already holds the lock, lock it again doesn't increase the lock count.
However, releasing lock is a little different.  If the lock is already released, IllegalMonitorStateException will throw if it is released again.

There could be other calls. I will look into it more.

--
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

[jira] [Commented] (HBASE-7261) batchMutate/put release the same lock twice

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-7261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13508959#comment-13508959 ] 

Jimmy Xiang commented on HBASE-7261:
------------------------------------

This happens in 0.94 too. In 0.94, put and internalObtainRowLock call startRegionOperation/closeRegionOperation twice in the same thread.

Something surprising me is that the IllegalMonitorStateException doesn't happen all the time. Did I miss anything?
                
> batchMutate/put release the same lock twice
> -------------------------------------------
>
>                 Key: HBASE-7261
>                 URL: https://issues.apache.org/jira/browse/HBASE-7261
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>
> Put uses batchMutate to do the actual work.  Put calls startRegionOperation/closeRegionOperation.  BatchMutate does the same.  If the same thread already holds the lock, lock it again doesn't increase the lock count.
> However, releasing lock is a little different.  If the lock is already released, IllegalMonitorStateException will throw if it is released again.
> There could be other calls. I will look into it more.

--
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

[jira] [Resolved] (HBASE-7261) batchMutate/put release the same lock twice

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-7261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang resolved HBASE-7261.
--------------------------------

    Resolution: Invalid

It is an issue with my patch for HBASE-6423 actually.  Closed as invalid.
                
> batchMutate/put release the same lock twice
> -------------------------------------------
>
>                 Key: HBASE-7261
>                 URL: https://issues.apache.org/jira/browse/HBASE-7261
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>
> Put uses batchMutate to do the actual work.  Put calls startRegionOperation/closeRegionOperation.  BatchMutate does the same.  If the same thread already holds the lock, lock it again doesn't increase the lock count.
> However, releasing lock is a little different.  If the lock is already released, IllegalMonitorStateException will throw if it is released again.
> There could be other calls. I will look into it more.

--
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