[
https://issues.apache.org/jira/browse/IGNITE-18115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vyacheslav Koptilin reassigned IGNITE-18115:
--------------------------------------------
Assignee: Sergey Uttsel
> Populate DistributionZoneManager with MetaStorage listeners to logical
> topology events
> --------------------------------------------------------------------------------------
>
> Key: IGNITE-18115
> URL: https://issues.apache.org/jira/browse/IGNITE-18115
> Project: Ignite
> Issue Type: Improvement
> Reporter: Alexander Lapin
> Assignee: Sergey Uttsel
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> As was mentioned in https://issues.apache.org/jira/browse/IGNITE-18087 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. As you can see from IGNITE-18087 we have
> two phase reaction on logical topology events. During the first phase we
> update logicalTopology and logicalTopologyVersion in meta storage and don't
> trigger dataNodes recalculation directly. Why? Because it's simpler - after
> inserting logical topology inside meta storage we mutually linearize topology
> events and distribution zone modification events with the help of meta
> storage revision.
> Thus, given ticket is about reaction to meta storage logical topology events.
> So it's required to register corresponding watch on start with a handler that
> will recalculate dataNodes and update given ms key with the help of invoke.
> Use revision based condition like we do it in rebalance in order to prevent
> concurrent and stale updates.
> h3. Definition of Done
> * DataNodes keys in meta storage are updated for each distribution zone
> along with triggerRevision helper key as a result of logical topology key
> updates in meta storage.
> h3. *Implementation Notes*
> Required logic is described above in Motivation section. Two new keys in meta
> storage (but not configuration) are expected.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)