Uploaded image for project: 'Blazegraph (by SYSTAP)'
  1. Blazegraph (by SYSTAP)
  2. BLZG-773

HAJournalServer deadlock: pipelineRemove() and getLeaderId()

    XMLWordPrintable

    Details

      Description

      
      Found one Java-level deadlock:
      =============================
      "com.bigdata.journal.jini.ha.HAJournal.executorService5430":
        waiting for ownable synchronizer 0x0000000700e6e3e8, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
        which is held by "com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher1"
      "com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher1":
        waiting for ownable synchronizer 0x00000007081c3a28, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
        which is held by "com.bigdata.journal.jini.ha.HAJournal.executorService5430"
      
      Java stack information for the threads listed above:
      ===================================================
      "com.bigdata.journal.jini.ha.HAJournal.executorService5430":
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <0x0000000700e6e3e8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178)
      	at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
      	at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
      	at com.bigdata.quorum.AbstractQuorum.getLeaderId(AbstractQuorum.java:1024)
      	at com.bigdata.quorum.AbstractQuorum.assertLeader(AbstractQuorum.java:1079)
      	at com.bigdata.quorum.AbstractQuorumMember.assertLeader(AbstractQuorumMember.java:216)
      	at com.bigdata.ha.QuorumPipelineImpl$RobustReplicateTask.assertQuorumState(QuorumPipelineImpl.java:878)
      	at com.bigdata.ha.QuorumPipelineImpl$RobustReplicateTask.innerReplicate(QuorumPipelineImpl.java:1070)
      	at com.bigdata.ha.QuorumPipelineImpl$RobustReplicateTask.retrySend(QuorumPipelineImpl.java:1129)
      	at com.bigdata.ha.QuorumPipelineImpl$RobustReplicateTask.call(QuorumPipelineImpl.java:1031)
      	at com.bigdata.ha.QuorumPipelineImpl$RobustReplicateTask.call(QuorumPipelineImpl.java:772)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      	at java.lang.Thread.run(Thread.java:662)
      "com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher1":
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <0x00000007081c3a28> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178)
      	at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
      	at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
      	at com.bigdata.ha.QuorumPipelineImpl.pipelineRemove(QuorumPipelineImpl.java:415)
      	at com.bigdata.quorum.AbstractQuorumMember.pipelineRemove(AbstractQuorumMember.java:300)
      	at com.bigdata.quorum.AbstractQuorum$QuorumWatcherBase.pipelineRemove(AbstractQuorum.java:2409)
      	at com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher.access$4300(ZKQuorumImpl.java:1244)
      	at com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher$QuorumPipelineWatcher.remove(ZKQuorumImpl.java:1861)
      	at com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher$AbstractSetQuorumWatcher.applyOrderedSetSemantics(ZKQuorumImpl.java:1721)
      	at com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher$QuorumPipelineWatcher.handleEvent(ZKQuorumImpl.java:1851)
      	at com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher$HandleEventRunnable.run(ZKQuorumImpl.java:1389)
      	at com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher.accept(ZKQuorumImpl.java:1327)
      	at com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher$AbstractSetQuorumWatcher.start(ZKQuorumImpl.java:1696)
      	at com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher.setupWatchers(ZKQuorumImpl.java:1495)
      	at com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher.handleExpired(ZKQuorumImpl.java:1429)
      	at com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher.access$2100(ZKQuorumImpl.java:1244)
      	at com.bigdata.quorum.zk.ZKQuorumImpl$ZkQuorumWatcher$HandleEventRunnable.run(ZKQuorumImpl.java:1374)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      	at java.lang.Thread.run(Thread.java:662)
      
      Found 1 deadlock.
      

        Attachments

          Activity

            People

            Assignee:
            bryanthompson bryanthompson
            Reporter:
            bryanthompson bryanthompson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: