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)