Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
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:
Conditions.value(logicalTopVersion).eq(event.logicalTopologyVersion - 1)
- 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:
Conditions.value(logicalTopVersion).eq(logical topology version retrieved on step 1)
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.
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.
Attachments
Issue Links
- blocks
-
IGNITE-18115 Populate DistributionZoneManager with MetaStorage listeners to logical topology events
- Resolved
- is blocked by
-
IGNITE-18402 ItLogicalTopologyTest.receivesLogicalTopologyEventsCausedByNodeRestart fails locally
- Resolved
-
IGNITE-18410 Put data to metastorage during some components start leads to assertion error
- Resolved
-
IGNITE-18085 Implement logical topology events subscription and notification
- Resolved
-
IGNITE-18093 Introduce distribution zone manager for the purposes of zones configuration
- Resolved
- links to