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)

Reply via email to