Maria Makedonskaya created IGNITE-13382:
-------------------------------------------
Summary: DurableBackgroundTask can abandon incomplete task
Key: IGNITE-13382
URL: https://issues.apache.org/jira/browse/IGNITE-13382
Project: Ignite
Issue Type: Bug
Affects Versions: 2.7
Reporter: Maria Makedonskaya
Assignee: Maria Makedonskaya
DurableBackgroundTasks are tracked using metastorage, there's a specific marker
for every task, and it is removed right after the task is complete.
But there's a race between checkpointer and metastorage. End-marker removal is
a logical operation, while task itself is mostly physical (at least the
existing one). So, following scenario is possible:
* Checkpoint occurs in the middle of the task;
* Task is completed before the next checkpoint;
* Metastorage record is deleted, this fact if written to WAL and synced to the
storage;
* Node failed;
* Recovery process applies deletion from metastorage, this means that
DurableBackgroundTasks info is lost;
* But part of the index is still present in the storage.
I think that we should remove markers from metastorage only after the next
checkpoint, this will 100% save us from such situation.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)