sashapolo commented on code in PR #3446:
URL: https://github.com/apache/ignite-3/pull/3446#discussion_r1533434992


##########
modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableUtils.java:
##########
@@ -81,4 +87,44 @@ public static int 
findStartBuildingIndexCatalogVersion(CatalogService catalogSer
                 BUILDING, indexId, fromCatalogVersionIncluded, 
latestCatalogVersion
         ));
     }
+
+    /**
+     * Collects a list of tables that were removed from the catalog and should 
have been dropped due to a low watermark (if the catalog
+     * version in which the table was removed is less than or equal to the 
active catalog version of low watermark).
+     *
+     * @param catalogService Catalog service.
+     * @param lowWatermark Low watermark, {@code null} if it has never been 
updated.
+     * @return Result is sorted by the catalog version in which the table was 
removed from the catalog and by the table ID.
+     */
+    // TODO: IGNITE-21771 Process or check catalog compaction
+    static List<DroppedTableInfo> droppedTables(CatalogService catalogService, 
@Nullable HybridTimestamp lowWatermark) {

Review Comment:
   > we do not raise them when the engines start, but lazily load them
   
   What do you mean here?
   
   > Can you give your solution more specifically and prove that it is better 
or faster?
   
   What I thought we should do is the following:
   
   1. When an engine is started (or maybe TableManager calls `engine.recover` 
or something), it looks though table IDs that are present in the storage;
   1. For every table ID, check that it exists in the Catalog in the 
`[lowWatermark, now]` range. If not - drop the table.
   
   This approach is not "faster", but it will work when the catalog will be 
compacted. Right now you are writing code that will be thrown away later. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to