From a6a027c0238c0129662e19c6d98ba0dfafb20c48 Mon Sep 17 00:00:00 2001 From: morningman Date: Thu, 20 Feb 2025 19:14:13 +0800 Subject: [PATCH] branch-2.1: [fix](paimon) avoid get paimon table when replay --- .../apache/doris/datasource/paimon/PaimonExternalTable.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalTable.java index efd8e6bb7a7a42..d4b66d987bda73 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalTable.java @@ -61,12 +61,11 @@ public class PaimonExternalTable extends ExternalTable implements MvccTable { private static final Logger LOG = LogManager.getLogger(PaimonExternalTable.class); - private final Table paimonTable; + private Table paimonTable; public PaimonExternalTable(long id, String name, String remoteName, PaimonExternalCatalog catalog, PaimonExternalDatabase db) { super(id, name, remoteName, catalog, db, TableType.PAIMON_EXTERNAL_TABLE); - this.paimonTable = catalog.getPaimonTable(dbName, name); } public String getPaimonCatalogType() { @@ -76,11 +75,13 @@ public String getPaimonCatalogType() { protected synchronized void makeSureInitialized() { super.makeSureInitialized(); if (!objectCreated) { + this.paimonTable = ((PaimonExternalCatalog) catalog).getPaimonTable(dbName, name); objectCreated = true; } } public Table getPaimonTable(Optional snapshot) { + makeSureInitialized(); return paimonTable.copy( Collections.singletonMap(CoreOptions.SCAN_VERSION.key(), String.valueOf(getOrFetchSnapshotCacheValue(snapshot).getSnapshot().getSnapshotId())));