wenzhenghu commented on code in PR #65126:
URL: https://github.com/apache/doris/pull/65126#discussion_r3607139043
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalDatabase.java:
##########
@@ -345,28 +340,48 @@ public Optional<T> getTableForReplay(long tableId) {
if (!isInitialized()) {
return Optional.empty();
}
- return metaCache.getMetaObjById(tableId);
+ String tableName = tableIdToName.get(tableId);
+ if (tableName == null) {
+ return Optional.empty();
+ }
+ return Optional.ofNullable(tables.getIfPresent(tableName));
Review Comment:
Fixed in `d700f9ecf5a`. `ExternalDatabase` now exposes a cache-only
`getTableNameForReplay(tableId)` helper so replay can recover the retained
canonical local name without reloading a cold table object.
`RefreshManager.replayRefreshTable()` now handles both legacy ID-only logs and
current name-based logs uniformly: hot objects still go through
`refreshTableInternal()`, while cold objects invalidate engine metadata by
local table name and return without remote load-through. I also added
deterministic FE UT coverage for ID-only replay after object eviction,
name-based replay after object eviction, and cold rename replay with retained
ID mapping.
--
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]