Slava Koptilin created IGNITE-24901:
---------------------------------------

             Summary: CatalogCompactionRunner cannot properly detect deleted 
tables in case of colocation
                 Key: IGNITE-24901
                 URL: https://issues.apache.org/jira/browse/IGNITE-24901
             Project: Ignite
          Issue Type: Bug
            Reporter: Slava Koptilin
            Assignee: Slava Koptilin
             Fix For: 3.1


The `CtalogCompactionRunner#collectRequiredNodes` method collects a list of 
deleted tables, among other things.
{code:java}
assert tokenizedAssignments.size() == replicationGroupIds.size();

for (int p = 0; p < partitions; p++) {
    TokenizedAssignments assignment = tokenizedAssignments.get(p);

    if (assignment == null) {
        if (currentCatalog.table(table.id()) == null) {
            // Table no longer exists
            deletedTables.put(table.id(), true);
            continue;
        } else {
            throw new IllegalStateException("Cannot get assignments for 
replication group "
                    + "[group=" + replicationGroupIds.get(p) + ']');
        }
    }
 {code}
In case of the colocation feature enabled, partition's assignments are linked 
to a distribution zone, not a table, and therefore, a list of deleted tables is 
always empty and it blocks catalog compaction.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to