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 2023/01/02 07:48:00 UTC

[jira] [Commented] (IGNITE-18115) Populate DistributionZoneManager with MetaStorage listeners to logical topology events

    [ https://issues.apache.org/jira/browse/IGNITE-18115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17653521#comment-17653521 ] 

Alexander Lapin commented on IGNITE-18115:
------------------------------------------

[~Sergey Uttsel] LGTM, please check the TC though.

> 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
>          Time Spent: 4h 10m
>  Remaining Estimate: 0h
>
> 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)