[ https://issues.apache.org/jira/browse/IGNITE-13382?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Chugunov updated IGNITE-13382: ------------------------------------- Fix Version/s: 2.10 > 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 > Priority: Major > Fix For: 2.10 > > Time Spent: 20m > Remaining Estimate: 0h > > 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)