[
https://issues.apache.org/jira/browse/IGNITE-20050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Uttsel updated IGNITE-20050:
-----------------------------------
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.
was:
*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.
*Definition of Done*
# Find out how deep the history of changes needs to be stored.
# Remove old values.
> Clean CausalityDataNodesEngine#zonesVersionedCfg which stores zones'
> configuration changes
> ------------------------------------------------------------------------------------------
>
> Key: IGNITE-20050
> URL: https://issues.apache.org/jira/browse/IGNITE-20050
> Project: Ignite
> Issue Type: Improvement
> Reporter: Sergey Uttsel
> Priority: Major
> Labels: ignite-3
>
> *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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)