You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexander Lapin (Jira)" <ji...@apache.org> on 2022/11/04 08:57:00 UTC
[jira] [Created] (IGNITE-18087) Implement distribution zone manager
Alexander Lapin created IGNITE-18087:
----------------------------------------
Summary: Implement distribution zone manager
Key: IGNITE-18087
URL: https://issues.apache.org/jira/browse/IGNITE-18087
Project: Ignite
Issue Type: Improvement
Reporter: Alexander Lapin
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. Generally 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.
** onAlter
### Locally check whether distribution zone processing enabled, skip further steps if not.
### Re-schedule active timers if any basd on timers start-time.
* 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)