[jira] [Updated] (IGNITE-12496) Index deletion blocks checkpoint for all of its duration, which can cause "Critical system error: system critical thread blocked"

2020-01-29 Thread Alexey Goncharuk (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-12496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexey Goncharuk updated IGNITE-12496:
--
Fix Version/s: 2.9

> Index deletion blocks checkpoint for all of its duration, which can cause 
> "Critical system error: system critical thread blocked"
> -
>
> Key: IGNITE-12496
> URL: https://issues.apache.org/jira/browse/IGNITE-12496
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Chudov
>Assignee: Denis Chudov
>Priority: Major
> Fix For: 2.9
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> GridH2Table#removeIndex(Session, Index) acquires checkpoint read lock and 
> releases it only after full completion of deletion process. It happens 
> because H2TreeIndex#destroy requires to be run when checkpoint lock is held. 
> Meanwhile, checkpoint thread stops on Checkpointer#markCheckpointBegin, 
> trying to acquire write lock, and stays locked for all the time of index 
> deletion.
> The possible fix is that checkpoint read lock is periodically released while 
> index deletion is in progress. To avoid persistence corruption in case of 
> node crush in the middle of the process, we should put index root into some 
> persistent structure like index meta tree and remember it as "pending 
> delete". Then we must delete tree pages from leafs to root, this allows to 
> avoid links to deleted pages. When deletion is complete, tree root can be 
> removed from "pending delete".



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-12496) Index deletion blocks checkpoint for all of its duration, which can cause "Critical system error: system critical thread blocked"

2019-12-27 Thread Denis Chudov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-12496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Denis Chudov updated IGNITE-12496:
--
Ignite Flags: Release Notes Required  (was: Docs Required,Release Notes 
Required)

> Index deletion blocks checkpoint for all of its duration, which can cause 
> "Critical system error: system critical thread blocked"
> -
>
> Key: IGNITE-12496
> URL: https://issues.apache.org/jira/browse/IGNITE-12496
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Chudov
>Assignee: Denis Chudov
>Priority: Major
>
> GridH2Table#removeIndex(Session, Index) acquires checkpoint read lock and 
> releases it only after full completion of deletion process. It happens 
> because H2TreeIndex#destroy requires to be run when checkpoint lock is held. 
> Meanwhile, checkpoint thread stops on Checkpointer#markCheckpointBegin, 
> trying to acquire write lock, and stays locked for all the time of index 
> deletion.
> The possible fix is that checkpoint read lock is periodically released while 
> index deletion is in progress. To avoid persistence corruption in case of 
> node crush in the middle of the process, we should put index root into some 
> persistent structure like index meta tree and remember it as "pending 
> delete". Then we must delete tree pages from leafs to root, this allows to 
> avoid links to deleted pages. When deletion is complete, tree root can be 
> removed from "pending delete".



--
This message was sent by Atlassian Jira
(v8.3.4#803005)