[ https://issues.apache.org/jira/browse/IGNITE-19491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mirza Aliev updated IGNITE-19491: --------------------------------- 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. was: 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. > Proper utilisation of a distribution zone manager's local states. > ----------------------------------------------------------------- > > 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)