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

Mirza Aliev updated IGNITE-19580:
---------------------------------
    Description: 
In https://issues.apache.org/jira/browse/IGNITE-19061 we have provided design 
for a correct restart of a node and recovering all Distributed Zones states.

In this ticket we want to restore {{DistributionZoneManager.ZoneState}} per 
every zone. Note that in this ticket we don't want to take into account 
immediate scale up when filter was changed, this will be done in a separate 
ticket (https://issues.apache.org/jira/browse/IGNITE-19581). 


The overall flow is the following: 
We need to save topologyAugmentationMap to Vault synchronously on metastorage 
watch listener for zonesLogicalTopologyPrefix. This is the only place where 
topologyAugmentationMap are changed. So, when restart, for every zone from 
configuration, when {{onCreate}} for every zone is called, restore 
topologyAugmentationMap from Vault. After that restoring the values for these 
local fields will be as they were before restart. After that schedule scale Up 
timer with {{maxScUpFromMap}} and schedule a scale down timer with 
{{maxScDownFromMap}}. 

Details could be found in the design document.

As a result, zones' states must be restored to the state that they had before 
restart. It includes data nodes field, topologyAugmentationMap, and all 
scheduled before restart timers. 

  was:
In https://issues.apache.org/jira/browse/IGNITE-19061 we have provided design 
for a correct restart of a node and recovering all Distributed Zones states.

In this ticket we want to restore {{DistributionZoneManager.ZoneState}} per 
every zone. Note that in this ticket we don't want to take into account 
immediate scale up when filter was changed, this will be done in a separate 
ticket (https://issues.apache.org/jira/browse/IGNITE-19581). 
The overall flow is the following: 
We need to save topologyAugmentationMap to Vault synchronously on metastorage 
watch listener for zonesLogicalTopologyPrefix. This is the only place where 
topologyAugmentationMap are changed. So, when restart, for every zone from 
configuration, when {{onCreate}} for every zone is called, restore 
topologyAugmentationMap from Vault. After that restoring the values for these 
local fields will be as they were before restart. After that schedule scale Up 
timer with {{maxScUpFromMap}} and schedule a scale down timer with 
{{maxScDownFromMap}}. 

Details could be found in the design document.

As a result, zones' states must be restored to the state that they had before 
restart. It includes data nodes field, topologyAugmentationMap, and all 
scheduled before restart timers. 


> Implement restoring of zones states of DistributionZoneManager after restart
> ----------------------------------------------------------------------------
>
>                 Key: IGNITE-19580
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19580
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Mirza Aliev
>            Priority: Major
>              Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-19061 we have provided design 
> for a correct restart of a node and recovering all Distributed Zones states.
> In this ticket we want to restore {{DistributionZoneManager.ZoneState}} per 
> every zone. Note that in this ticket we don't want to take into account 
> immediate scale up when filter was changed, this will be done in a separate 
> ticket (https://issues.apache.org/jira/browse/IGNITE-19581). 
> The overall flow is the following: 
> We need to save topologyAugmentationMap to Vault synchronously on metastorage 
> watch listener for zonesLogicalTopologyPrefix. This is the only place where 
> topologyAugmentationMap are changed. So, when restart, for every zone from 
> configuration, when {{onCreate}} for every zone is called, restore 
> topologyAugmentationMap from Vault. After that restoring the values for these 
> local fields will be as they were before restart. After that schedule scale 
> Up timer with {{maxScUpFromMap}} and schedule a scale down timer with 
> {{maxScDownFromMap}}. 
> Details could be found in the design document.
> As a result, zones' states must be restored to the state that they had before 
> restart. It includes data nodes field, topologyAugmentationMap, and all 
> scheduled before restart timers. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to