hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Lipcon (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2964) Deadlock when RS tries to RPC to itself inside SplitTransaction
Date Tue, 07 Sep 2010 05:14:33 GMT

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

Todd Lipcon commented on HBASE-2964:

As noted on the list, this seems to be due to HBASE-2461.

Prior to 2461, when we split, we would close the region before doing any of the writes to
META, and didn't hold any locks while doing the META updates. Now we keep the write lock all
the way through, even after closing the region.

I think simply moving the writeLock().unlock() up after the this.parent.close(false) in SplitTransaction
should fix this issue. I'm testing that change on my test cluster now.

> Deadlock when RS tries to RPC to itself inside SplitTransaction
> ---------------------------------------------------------------
>                 Key: HBASE-2964
>                 URL: https://issues.apache.org/jira/browse/HBASE-2964
>             Project: HBase
>          Issue Type: Bug
>          Components: ipc, regionserver
>    Affects Versions: 0.90.0
>            Reporter: Todd Lipcon
>            Priority: Blocker
> In testing the 0.89.20100830 rc, I ran into a deadlock with the following situation:
> - All of the IPC Handler threads are blocked on the region lock, which is held by CompactSplitThread.
> - CompactSplitThread is in the process of trying to edit META to create the offline parent.
META happens to be on the same server as is executing the split.
> Therefore, the CompactSplitThread is trying to connect back to itself, but all of the
handler threads are blocked, so the IPC never happens. Thus, the entire RS gets deadlocked.

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

View raw message