github-actions[bot] commented on code in PR #66717:
URL: https://github.com/apache/doris/pull/66717#discussion_r3796838704
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java:
##########
@@ -1367,9 +1381,21 @@ public int hashCode() {
public void notifyPropertiesUpdated(Map<String, String> updatedProps) {
CatalogIf.super.notifyPropertiesUpdated(updatedProps);
String schemaCacheTtl =
updatedProps.getOrDefault(SCHEMA_CACHE_TTL_SECOND, null);
- if (java.util.Objects.nonNull(schemaCacheTtl)) {
- ExternalMetaCacheMgr extMetaCacheMgr =
Env.getCurrentEnv().getExtMetaCacheMgr();
+ ExternalMetaCacheMgr extMetaCacheMgr =
Env.getCurrentEnv().getExtMetaCacheMgr();
+ if (java.util.Objects.nonNull(schemaCacheTtl)
+ ||
updatedProps.containsKey(ExternalMetaCacheBudgetManager.CATALOG_MAX_WEIGHT_PROPERTY))
{
extMetaCacheMgr.removeCatalog(id);
+ return;
+ }
+ for (String key : updatedProps.keySet()) {
+ if (key == null || !key.startsWith("meta.cache.")) {
+ continue;
+ }
+ String remainder = key.substring("meta.cache.".length());
+ int separator = remainder.indexOf('.');
+ if (separator > 0) {
+ extMetaCacheMgr.removeCatalogByEngine(id,
remainder.substring(0, separator));
Review Comment:
[P1] Keep legacy engine keys from aborting replay
`replayAlterCatalogProps(..., true)` skips the new DDL validation but still
calls `modifyCatalogProps`, so a pre-upgrade key such as `meta.cache.hvie.*`
reaches this line. `removeCatalogByEngine` resolves `hvie` strictly and throws,
which can abort edit-log replay before runtime sanitization can ignore the
persisted property. Please make notification replay-tolerant for unknown legacy
namespaces while retaining strict validation for new DDL, and cover an
`isReplay=true` log.
--
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]