[jira] [Created] (IGNITE-1977) IgniteSemaphore's failover related tests got to the deadlock

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-1977) IgniteSemaphore's failover related tests got to the deadlock

Anton Vinogradov (Jira)
Denis Magda created IGNITE-1977:
-----------------------------------

             Summary: IgniteSemaphore's failover related tests got to the deadlock
                 Key: IGNITE-1977
                 URL: https://issues.apache.org/jira/browse/IGNITE-1977
             Project: Ignite
          Issue Type: Bug
            Reporter: Denis Magda


All {{IgniteSemaphore}} related tests from {{GridCacheAbstractDataStructuresFailoverSelfTest}} may cause a deadlock which leads to the whole suite hanging.

The threads are waiting for the following condition:

{noformat}
"topology-change-thread-3" prio=6 tid=0x000000001d98d800 nid=0x2b20 waiting on condition [0x000000002066f000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0000000798149948> (a org.apache.ignite.internal.processors.datastructures.GridCacheSemaphoreImpl$Sync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
        at org.apache.ignite.internal.processors.datastructures.GridCacheSemaphoreImpl.acquire(GridCacheSemaphoreImpl.java:538)
        at org.apache.ignite.internal.processors.datastructures.GridCacheSemaphoreImpl.acquire(GridCacheSemaphoreImpl.java:525)
        at org.apache.ignite.internal.processors.cache.datastructures.GridCacheAbstractDataStructuresFailoverSelfTest$7.apply(GridCacheAbstractDataStructuresFailoverSelfTest.java:571)
        at org.apache.ignite.internal.util.lang.GridAbsClosure.run(GridAbsClosure.java:50)
        at org.apache.ignite.testframework.GridTestUtils$7.call(GridTestUtils.java:967)
        at org.apache.ignite.testframework.GridTestThread.run(GridTestThread.java:86)
{noformat}

Probably the semaphore is not properly released when a node leaves the topology abruptly.

In addition the tests should be rewritten to the way which is followed by other data structures and atomics from this suite: using {{ConstantTopologyChangeWorker}} and its descendants.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)