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)