Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-19491

Proper utilisation of a distribution zone manager's ZoneState#topologyAugmentationMap.

    XMLWordPrintableJSON

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

          Activity

            People

              Unassigned Unassigned
              maliev Mirza Aliev
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: