924060929 commented on code in PR #68196:
URL: https://github.com/apache/doris/pull/68196#discussion_r4120130074
##########
fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java:
##########
@@ -192,6 +211,9 @@ public void replayRefreshTable(ExternalObjectLog log) {
// See comment in refreshDbInternal for why db and table may be
null.
if (!db.isPresent()) {
LOG.warn("failed to find db when replaying refresh table: {}",
log.debugForRefreshTable());
+ // No canonical identity is available: retire the catalog
scope so engine entries and
+ // row counts cannot survive the committed refresh.
+
Env.getCurrentEnv().getExtMetaCacheMgr().invalidateCatalog(catalog.getId());
Review Comment:
Fixed in 06f6fd4c3cd: replay now resolves the retained canonical DB name/ID
without loading an evicted object, invalidates only that DB when known, and
widens to catalog scope only when the mapping is genuinely unavailable. The
same cold-DB distinction is reused by the generic DROP TABLE hooks.
RefreshManagerTest and CatalogMgrTest cover cold-name routing and mode-2
identity; focused FE UTs and ./build.sh --fe -j4 passed.
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetadataOps.java:
##########
@@ -323,6 +323,10 @@ public void afterDropTable(String dbName, String tblName) {
Optional<ExternalDatabase<?>> db = catalog.getDbForReplay(dbName);
if (db.isPresent()) {
db.get().unregisterTable(tblName);
+ } else {
Review Comment:
Also fixed in 06f6fd4c3cd. The Hive, Iceberg, MaxCompute, and Paimon DROP
TABLE cold-DB paths now retain database scope when the canonical name/ID is
still known; only a genuinely lost mapping retires the whole catalog.
CatalogMgrTest covers the narrow cold-drop path.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]