You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Wang Qiang (JIRA)" <ji...@apache.org> on 2013/01/31 08:37:13 UTC

[jira] [Created] (HBASE-7728) deadlock occurs between hlog roller and hlog syncer

Wang Qiang created HBASE-7728:
---------------------------------

             Summary: deadlock occurs between hlog roller and hlog syncer
                 Key: HBASE-7728
                 URL: https://issues.apache.org/jira/browse/HBASE-7728
             Project: HBase
          Issue Type: Bug
          Components: wal
    Affects Versions: 0.94.2
         Environment: Linux 2.6.18-164.el5 x86_64 GNU/Linux
            Reporter: Wang Qiang
            Priority: Blocker


the hlog roller thread and hlog syncer thread may occur dead lock with the 'flushLock' and 'updateLock', and then cause all 'IPC Server handler' thread blocked on hlog append. the jstack info is as follow :
"regionserver60020.logRoller":
        at org.apache.hadoop.hbase.regionserver.wal.HLog.syncer(HLog.java:1305)
        - waiting to lock <0x000000067bf88d58> (a java.lang.Object)
        at org.apache.hadoop.hbase.regionserver.wal.HLog.syncer(HLog.java:1283)
        at org.apache.hadoop.hbase.regionserver.wal.HLog.sync(HLog.java:1456)
        at org.apache.hadoop.hbase.regionserver.wal.HLog.cleanupCurrentWriter(HLog.java:876)
        at org.apache.hadoop.hbase.regionserver.wal.HLog.rollWriter(HLog.java:657)
        - locked <0x000000067d54ace0> (a java.lang.Object)
        at org.apache.hadoop.hbase.regionserver.LogRoller.run(LogRoller.java:94)
        at java.lang.Thread.run(Thread.java:662)
"regionserver60020.logSyncer":
        at org.apache.hadoop.hbase.regionserver.wal.HLog.syncer(HLog.java:1314)
        - waiting to lock <0x000000067d54ace0> (a java.lang.Object)
        - locked <0x000000067bf88d58> (a java.lang.Object)
        at org.apache.hadoop.hbase.regionserver.wal.HLog.syncer(HLog.java:1283)
        at org.apache.hadoop.hbase.regionserver.wal.HLog.sync(HLog.java:1456)
        at org.apache.hadoop.hbase.regionserver.wal.HLog$LogSyncer.run(HLog.java:1235)
        at java.lang.Thread.run(Thread.java:662)

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