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
- Find out how deep the history of changes needs to be stored.
- Remove old values.
Attachments
Issue Links
- depends upon
-
IGNITE-19967 Design restart of Distribution Zone Manager in accordance with the new local recovery process
- Resolved
- is blocked by
-
IGNITE-20604 Reimplement CausalityDataNodesEngine#dataNodes according to Catalog and recovery changes
- Resolved