Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-8295

Possible deadlock on partition eviction.

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: 2.7
    • Component/s: persistence
    • Labels:
      None

      Description

      GridCacheOffheapManager.recreateCacheDataStore() calls updatePartitionCounter() under partStoreLock which may try to acquire checkpointReadLock.

      recreateCacheDataStore() method can be called with checkpointReadLock (on GridDhtPartitionsExchangeFuture.updatePartitionFullMap)
      or without checkpointReadLock (GridDhtPartitionEvictor thread calls evictPartitionAsync),

      So, checkpoint can cause a deadlock if it happens in between.

      Seems, we should acquire checkpointReadLock before partStoreLock. 
        

        Attachments

        1. deadlock.stack
          172 kB
          Andrey Mashenkov

          Issue Links

            Activity

              People

              • Assignee:
                amashenkov Andrey Mashenkov
                Reporter:
                amashenkov Andrey Mashenkov
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: