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)