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/12/16 16:14:00 UTC

[jira] [Updated] (IGNITE-18087) Populate DistributionZoneManager with CMG listeners to logical topology events

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

Alexander Lapin updated IGNITE-18087:
-------------------------------------
    Reviewer: Alexander Lapin

> Populate DistributionZoneManager with CMG 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
>            Assignee: Mirza Aliev
>            Priority: Major
>              Labels: ignite-3
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> 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.
> Given ticket is about logicalTopology events only. On start each DistributionConfiguratoinManager should
>  * Register logicalTopology onAppeared()/onDisappeared() event handlers that will update logicalToplogy  and topology version in meta storage through invoke. Following condition should be used:
> {code:java}
> Conditions.value(logicalTopVersion).eq(event.logicalTopologyVersion - 1){code}
>  * Perform initialization
>  ## Retrieve logical topology and logical topology version from metastorage.
>  ## Retrieve  logical topology and logical topology version from CMG.
>  ## Compare aforementioned typologies and versions and if the one in CMG is newer - update it in meta storage through invoke. Following condition should be used: 
> {code:java}
> Conditions.value(logicalTopVersion).eq(logical topology version retrieved on step 1){code}
> h3. Definition of Done
>  * Logical topology and logical topology version are  written to the meta storage as a result of both logical topology events and DistiributionZoneManager initialization.
> h3. Implementation Notes
> Well, it's pretty straight forward. All 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)