You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2026/03/01 03:37:39 UTC
(doris) branch branch-4.0 updated: branch-4.0: [fix](iceberg) Invalidate related-table cache on external table refresh #60867 (#60885)
This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.0 by this push:
new 3f86beca843 branch-4.0: [fix](iceberg) Invalidate related-table cache on external table refresh #60867 (#60885)
3f86beca843 is described below
commit 3f86beca8435061126b2c2d30db96e12624b6a9e
Author: github-actions[bot] <41...@users.noreply.github.com>
AuthorDate: Sun Mar 1 11:37:32 2026 +0800
branch-4.0: [fix](iceberg) Invalidate related-table cache on external table refresh #60867 (#60885)
Cherry-picked from #60867
Co-authored-by: Socrates <su...@selectdb.com>
---
.../src/main/java/org/apache/doris/catalog/RefreshManager.java | 6 ++++++
.../org/apache/doris/datasource/iceberg/IcebergMetadataOps.java | 7 -------
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java
index 54237f2d38e..4ee6a2cab07 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java
@@ -29,6 +29,7 @@ import org.apache.doris.datasource.ExternalTable;
import org.apache.doris.datasource.hive.HMSExternalCatalog;
import org.apache.doris.datasource.hive.HMSExternalTable;
import org.apache.doris.datasource.hive.HiveMetaStoreCache;
+import org.apache.doris.datasource.iceberg.IcebergExternalTable;
import org.apache.doris.persist.OperationType;
import com.google.common.base.Strings;
@@ -232,6 +233,11 @@ public class RefreshManager {
public void refreshTableInternal(ExternalDatabase db, ExternalTable table, long updateTime) {
table.unsetObjectCreated();
+ // Iceberg partition evolution can change partition specs across FEs.
+ // Clear related-table validation cache to avoid stale partitioned/unpartitioned judgment.
+ if (table instanceof IcebergExternalTable) {
+ ((IcebergExternalTable) table).setIsValidRelatedTableCached(false);
+ }
if (updateTime > 0) {
table.setUpdateTime(updateTime);
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java
index fa764f9d06b..d19308e736a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergMetadataOps.java
@@ -848,8 +848,6 @@ public class IcebergMetadataOps implements ExternalMetadataOps {
+ ", error message is: " + ExceptionUtils.getRootCauseMessage(e), e);
}
refreshTable(dorisTable, updateTime);
- // Reset cached isValidRelatedTable flag after partition evolution
- ((IcebergExternalTable) dorisTable).setIsValidRelatedTableCached(false);
}
/**
@@ -877,8 +875,6 @@ public class IcebergMetadataOps implements ExternalMetadataOps {
+ ", error message is: " + ExceptionUtils.getRootCauseMessage(e), e);
}
refreshTable(dorisTable, updateTime);
- // Reset cached isValidRelatedTable flag after partition evolution
- ((IcebergExternalTable) dorisTable).setIsValidRelatedTableCached(false);
}
/**
@@ -920,8 +916,6 @@ public class IcebergMetadataOps implements ExternalMetadataOps {
+ ", error message is: " + ExceptionUtils.getRootCauseMessage(e), e);
}
refreshTable(dorisTable, updateTime);
- // Reset cached isValidRelatedTable flag after partition evolution
- ((IcebergExternalTable) dorisTable).setIsValidRelatedTableCached(false);
}
@Override
@@ -1014,4 +1008,3 @@ public class IcebergMetadataOps implements ExternalMetadataOps {
}
}
-
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org