Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Motivation
Currently we use zonesChangeTriggerKey in DistributionZonesUtil#triggerKeyConditionForZonesChanges to create condition to initialize the zone's meta storage keys on a zone creation and to remove these keys on a zone drop. It cause some issues:
- we cannot remove zonesChangeTriggerKey to ensure that on the zone will not recreated on DZM restart
- it doesn't work properly now because it possible that on DZM restart the zone will be recreated with the revision which is higher than original the zone create revision.
Implementation notes
To fix it we need to get rid of zonesChangeTriggerKey and use a dataNodes ms key on a zone create and a zone drop.
so the condition for a zone creation will be:
and( notExists(dataNodes(zoneId)), notTombstone(dataNodes(zoneId)) )
and for a zone drop:
exists(dataNodes(zoneId))
Definition of done
Got rid of the meta storage zonesChangeTriggerKey key.
Attachments
Issue Links
- blocks
-
IGNITE-19955 Fix create zone on restart rewrites existing data nodes because of trigger key inconsistnecy
- Resolved
- is blocked by
-
IGNITE-20599 Implement a 'NOT_TOMBSTONE' operation in the meta storage dsl.
- Resolved
- links to