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

Clean CausalityDataNodesEngine#zonesVersionedCfg which stores zones' configuration changes

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None

    Description

      Motivation

      CausalityDataNodesEngine#zonesVersionedCfg contains zones' configuration changes. It updates with revision and configuration event on a zone creation, a scale up update, a scale up update and so on. But this map does not remove old values. We need to keep a history of changes to some depth.

      The easiest way to clear the zonesVersionedCfg is to do it on the meta storage compaction. For this purpose need to create notification about compaction and clear older configurations in the zonesVersionedCfg except of the last one.
      Another approach is to investigate all current and potential future usages of dataNodes to find out when we can clear the zonesVersionedCfg. There are cases when we can request the date nodes value with the same token several times over an arbitrary period of time. For example before and after the rebalance. But the dataNodes method reads data from the meta storage so we also need to keep dataNodes and other keys in the meta storage. Therefore, this approach also depends on the meta storage compaction.

      Definition of Done

      1. Find out how deep the history of changes needs to be stored.
      2. Remove old values.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              Sergey Uttsel Sergey Uttsel
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: