[
https://issues.apache.org/jira/browse/IGNITE-22636?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maksim Zhuravkov reassigned IGNITE-22636:
-----------------------------------------
Assignee: Maksim Zhuravkov
> Catalog compaction. Implement catalog compaction coordinator.
> -------------------------------------------------------------
>
> Key: IGNITE-22636
> URL: https://issues.apache.org/jira/browse/IGNITE-22636
> Project: Ignite
> Issue Type: Improvement
> Reporter: Maksim Zhuravkov
> Assignee: Maksim Zhuravkov
> Priority: Major
> Labels: ignite-3
>
> Compaction coordinator initiates the process of catalog compaction:
> 1. Ask each node in logical topology for its minimal required timed (for
> node_i let's call this time Tmin_node_i ).
> 2. Choose minimum required time of Tmin_node_i (let's call it Tmin)
> 3. Select catalog version Cv with catalog timestamp Ct which Ct < Tmin.
> 4. Send a command to calls CatalogManager::compactCatalog with Ct to every
> node.
> If Catalog up to version Cv has tables T1, ... Tn, then:
> Each compaction initiation run should be postponed (step 4 is not performed),
> if at least one node that owns partitions for tables (T1,.., Tn) is missing
> from the current logical topology.
> If a remote node leaves the cluster, then:
> If this node hosts at least one partition, the coordinator should wait until
> this node either enters the cluster and then retry asking for Minimal Time,
> or is removed from all assignments. In the latter case the absence of the
> node may be simply ignored.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)