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

Possible deadlock on partition eviction.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • 2.7
    • persistence
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: