Maksim Zhuravkov created IGNITE-22636: -----------------------------------------
Summary: 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 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)