Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
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.
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.
Implementation Notes
Required logic is described above in Motivation section. Two new keys in meta storage (but not configuration) are expected.
Attachments
Issue Links
- is blocked by
-
IGNITE-18087 Populate DistributionZoneManager with CMG listeners to logical topology events
- Resolved
- links to