hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2295) Row locks may deadlock with themselves
Date Tue, 09 Mar 2010 20:24:27 GMT

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

stack commented on HBASE-2295:
------------------------------

I agree isEmpty is better than size... I'll just put fix in under this issue.  Thanks Todd.


I changed it to do this instead on trunk and branch:

{code}
      while (!this.lockedRows.isEmpty()) {
        if (LOG.isDebugEnabled()) {
          LOG.debug("Waiting on " + this.lockedRows.size() + " row locks");
        }
...
{code}


> Row locks may deadlock with themselves
> --------------------------------------
>
>                 Key: HBASE-2295
>                 URL: https://issues.apache.org/jira/browse/HBASE-2295
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Todd Lipcon
>            Assignee: dhruba borthakur
>             Fix For: 0.20.4, 0.21.0
>
>         Attachments: rowLockDeadlock.txt, rowLockDeadlock2.txt
>
>
> Row locks in HRegion are keyed by a int-sized hash of the row key. It's perfectly possible
for two rows to hash to the same key. So, if any client tries to lock both rows, it will deadlock
with itself. Switching to a 64-bit hash is an improvement but still sketchy.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message