[jira] [Created] (IGNITE-1304) Async cache operations in IGFS may cause deadlock related to topology update

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

[jira] [Created] (IGNITE-1304) Async cache operations in IGFS may cause deadlock related to topology update

Anton Vinogradov (Jira)
Ivan Veselovsky created IGNITE-1304:
---------------------------------------

             Summary: Async cache operations in IGFS may cause deadlock related to topology update
                 Key: IGNITE-1304
                 URL: https://issues.apache.org/jira/browse/IGNITE-1304
             Project: Ignite
          Issue Type: Bug
          Components: cache
    Affects Versions: ignite-1.4
            Reporter: Ivan Veselovsky
             Fix For: ignite-1.5


In an IGFS test we observe a deadlock situation related to cluster topology update (full thread dump is attached).
The problem is that several threads are waiting for the topology update, at the same time holding the read lock of the topology version update:
Thread #1:
 GridAffinityAssignmentCache.awaitTopologyVersion(GridAffinityAssignmentCache.java:450)
  ....
  GridNearOptimisticTxPrepareFuture.prepareOnTopology(GridNearOptimisticTxPrepareFuture.java:280)

At the same time another thread, that wants to update the topology version, cannot do that because it needs the write lock of the topology update:
Thread #2:
   at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:945)
        at o.a.i.i.processors.cache.distributed.dht.GridDhtPartitionTopologyImpl.updateTopologyVersion(GridDhtPartitionTopologyImpl.java:190)



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