[
https://issues.apache.org/jira/browse/IGNITE-13577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ivan Daschinskiy updated IGNITE-13577:
--------------------------------------
Description:
Proposed design:
*LN* -- node that performs graceful shutdown
*CRD* -- Leader (coordinator) of Ignite cluster
*N* -- Other nodes of Ignite cluster.
# *LN* create PERSISTENT *flag* znode with path /<root>/sf/<node_id>
# *LN* delete own znode in /<root>/n as usual.
# *CRD* receives notification and check if exists *flag* for this node
# *CRD* generate NODE_LEFT event with flag fail=false, otherwise fail=true
# *CRD* save event as usual, then delete *flag*.
# Cluster process events as usual.
was:
Proposed design:
*LN* -- node that performs graceful shutdown
*CRD* -- Leader (coordinator) of Ignite cluster
*N* -- Other nodes of Ignite cluster.
# *LN* create EPHEMERAL *latch* znode with path /<root>/nl/<node_id> and set
watcher on it
# *LN* delete own znode in /<root>/n as usual.
# *LN* blocks with timeout stop until *latch* exists.
# *CRD* receives notification and check if exists *latch* for this node
# *CRD* generate NODE_LEFT event with flag fail=false, otherwise fail=true
# *N* acks events.
# *CRD* on receiving all acks remove *latch* for leaving node if exists.
# *LN* receives notification and proceed with node stop.
> Add support to graceful shutdown for ZookeeperDiscoverySpi
> ----------------------------------------------------------
>
> Key: IGNITE-13577
> URL: https://issues.apache.org/jira/browse/IGNITE-13577
> Project: Ignite
> Issue Type: Improvement
> Reporter: Ivan Daschinskiy
> Assignee: Ivan Daschinskiy
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Proposed design:
> *LN* -- node that performs graceful shutdown
> *CRD* -- Leader (coordinator) of Ignite cluster
> *N* -- Other nodes of Ignite cluster.
> # *LN* create PERSISTENT *flag* znode with path /<root>/sf/<node_id>
> # *LN* delete own znode in /<root>/n as usual.
> # *CRD* receives notification and check if exists *flag* for this node
> # *CRD* generate NODE_LEFT event with flag fail=false, otherwise fail=true
> # *CRD* save event as usual, then delete *flag*.
> # Cluster process events as usual.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)