Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-9844

DistSyncStoreNotSharedTest.clearContent sometimes hangs

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Major
    • None
    • 10.0.0.Alpha2
    • Test Suite

    Description

      The main test thread is waiting to acquire the write lock of storesMutex, and a transport thread is waiting for a publisher to give it the keys of stale segments. There's no thread with a storesMutex read lock acquisition in the stack (although one thread is trying to acquire the read lock), so either we leak a read lock or we hold the read lock for longer than necessary:

      "testng-DistSyncStoreNotSharedTest" #15 prio=5 os_prio=0 tid=0x00007fd0bce84800 nid=0x1c42 waiting on condition [0x00007fd0888aa000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <0x00000000dc2a5578> (a java.util.concurrent.Semaphore$NonfairSync)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
      	at java.util.concurrent.Semaphore.acquireUninterruptibly(Semaphore.java:494)
      	at org.infinispan.persistence.manager.PersistenceManagerImpl.stop(PersistenceManagerImpl.java:215)
      "transport-thread-DistSyncStoreNotSharedTest-NodeB-p12241-t1" #46086 daemon prio=5 os_prio=0 tid=0x00007fd09406f800 nid=0x5ee8 waiting on condition [0x00007fd05ce9e000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <0x00000000dc2a4df8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
      	at io.reactivex.internal.operators.flowable.BlockingFlowableIterable$BlockingFlowableIterator.hasNext(BlockingFlowableIterable.java:94)
      	at io.reactivex.Flowable.blockingForEach(Flowable.java:5509)
      	at org.infinispan.statetransfer.StateConsumerImpl.removeStaleData(StateConsumerImpl.java:993)
      	at org.infinispan.statetransfer.StateConsumerImpl.onTopologyUpdate(StateConsumerImpl.java:441)
      "persistence-thread-DistSyncStoreNotSharedTest-NodeB-p12255-t1" #46212 daemon prio=5 os_prio=0 tid=0x00007fd09420a000 nid=0x5f66 waiting on condition [0x00007fd044a89000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <0x00000000dc2a4870> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
      	at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:727)
      	at org.infinispan.persistence.manager.PersistenceManagerImpl.pollStoreAvailability(PersistenceManagerImpl.java:189)
      

      Attachments

        Issue Links

          Activity

            People

              remerson@redhat.com Ryan Emerson
              dberinde@redhat.com Dan Berindei (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: