[ https://issues.apache.org/jira/browse/IGNITE-18087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mirza Aliev reassigned IGNITE-18087: ------------------------------------ Assignee: Mirza Aliev > 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 > > 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)