[ https://issues.apache.org/jira/browse/IGNITE-19491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kirill Gusakov updated IGNITE-19491: ------------------------------------ Epic Link: IGNITE-19577 (was: IGNITE-19170) > Proper utilisation of a distribution zone manager's > ZoneState#topologyAugmentationMap. > -------------------------------------------------------------------------------------- > > Key: IGNITE-19491 > URL: https://issues.apache.org/jira/browse/IGNITE-19491 > Project: Ignite > Issue Type: Bug > Reporter: Mirza Aliev > Priority: Major > Labels: ignite-3 > > 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. -- This message was sent by Atlassian Jira (v8.20.10#820010)