Maksim Timonin created IGNITE-23591:
---------------------------------------

             Summary: Deadlock between threads concurrently update ttl and 
values
                 Key: IGNITE-23591
                 URL: https://issues.apache.org/jira/browse/IGNITE-23591
             Project: Ignite
          Issue Type: Bug
            Reporter: Maksim Timonin
            Assignee: Maksim Timonin


There is a deadlock in case concurrent load: ScanQuery and DataStreamer with 
expiry logic based on access time.
 # data-streamer-stripe acquires locks in order: checkpoint read lock, entry 
lock
 # sys-stripe and query threads (update ttl) acquire locks in different order: 
entry lock, checkpoint read lock
 # concurrent db-checkpoint-thread acquire checkpoint write lock, and it might 
be done in the moment between threads (2) acquire entry and checkpoint lock.

 

data-streamer awaits sys-stripe, 

sys-stripe awaits db-checkpoint-thread,

db-checkpoint-threads awaits data-streamer

 

Order of locking should be same in all threads.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to