Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
In distribution zone manager we have several local entities that hold some states.
- DistributionZoneManager.ZoneState#topologyAugmentationMap
- DistributionZoneManager#nodesAttributes
Currently DistributionZoneManager.ZoneState#topologyAugmentationMap is being cleaned only on a node, that successfully writes data nodes, which seems to be incorrect, because for example a node, that never writes data nodes, will never clean up its state.
Need to find a proper solution for states utilisation.
UPD:
Proposed solution:
ZoneState#topologyAugmentationMap should be cleared when we read scaleUp/Down keys in saveDataNodesToMetaStorageOnScaleUp/Down methods,
when we retrieved this keys, it is safe to call zoneState.cleanUp(Math.min(scaleDownTriggerRevision, scaleUpTriggerRevision)), but we also need to change semantic of cleanUp method, so we need to call topologyAugmentationMap.headMap(toKey, false).clear() with false flag, to not include the passed key and not to remove it from the tree.
Attachments
Issue Links
- is a child of
-
IGNITE-17924 Core distributions zones functionality.
-
- Open
-
- is blocked by
-
IGNITE-20603 Restore logical topology change event on a node restart
-
- Resolved
-