[ https://issues.apache.org/jira/browse/IGNITE-22636?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Konstantin Orlov updated IGNITE-22636: -------------------------------------- Epic Link: IGNITE-22587 > 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 > 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)