[
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)