You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Mirza Aliev (Jira)" <ji...@apache.org> on 2023/05/22 07:54:00 UTC

[jira] [Updated] (IGNITE-19491) Proper utilisation of a distribution zone manager's ZoneState#topologyAugmentationMap.

     [ https://issues.apache.org/jira/browse/IGNITE-19491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mirza Aliev updated IGNITE-19491:
---------------------------------
    Summary: Proper utilisation of a distribution zone manager's ZoneState#topologyAugmentationMap.  (was: Proper utilisation of a distribution zone manager's local states.)

> 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)