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

Alexander Lapin updated IGNITE-18087:
-------------------------------------
    Summary: Populate DistributionZoneManager with listeners to logical 
topology events  (was: Implement distribution zone manager)

> Populate DistributionZoneManager with listeners to logical topology events
> --------------------------------------------------------------------------
>
>                 Key: IGNITE-18087
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18087
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexander Lapin
>            Priority: Major
>
> h3. Motivation
> In order to calculate dataNodes for each distribution zone it's required to 
> have proper actor that will listen to:
>  * Logical topology events.
>  * Distribution zone reconfiguration events (adding, updating, removing).
>  * Distribution zone processing enabling/disabling.
> and properly react to such events. GiGenerally speaking aforementioned 
> reaction assumes following logic:
>  * onTopologyEvent:
>  * 
>  ** Locally increment logical topology projection. 
>  ** Locally check whether distribution zone processing enabled, skip further 
> steps if not.
>  ** Iterate over all locally known distribution zones.
>  ** Schedule corresponding scaleUp/Down/Autoadjust times (immediate for now) 
> along with memorizing in volatile state scheduler start time.
>  * onDistributionZone reconfiguration events
>  ** onAdd
>  *** Locally check whether distribution zone processing enabled, skip further 
> steps if not.
>  *** Immediately calculate dataNodes for given zone and call ms.invoke that 
> will try to set it up.
>  ** onRemove
>  * 
>  ** 
>  *** Locally check whether distribution zone processing enabled, skip further 
> steps if not.
>  *** Discard active timers for given zone
>  *** Cleanup corresponding zone specific state in meta store.
>  * onEnable
>  ** Set local enabled flag to true. 
>  ** Iterate over all locally known distribution zones.
>  ** Schedule corresponding scaleUp/Down/Autoadjust times (immediate for now) 
> along with memorizing in volatile state scheduler start time based logical 
> topology projection. 
>  * onDisable
>  ** Set local enabled flag to false. 
> On timer scheduled perform ms invoke, that will prevent concurrent and stale 
> updates.
> h3. Definition of Done
>  * Distribution zones state (data nodes) is written in ms in a thread-safe 
> manner due to corresponding logical topology and distribution zones 
> configuration events.



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

Reply via email to