This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 46c2a0493c4 branch-2.1: [fix](paimon) avoid get paimon table when 
replay (#48151)
46c2a0493c4 is described below

commit 46c2a0493c43b4f115c0eb757ae47055de403045
Author: Mingyu Chen (Rayner) <morning...@163.com>
AuthorDate: Fri Feb 21 01:07:55 2025 +0800

    branch-2.1: [fix](paimon) avoid get paimon table when replay (#48151)
    
    ### What problem does this PR solve?
    
    `catalog.getPaimonTable(dbName, name);` will try forward request to
    master FE.
    When in replay logic, forwarding will fail, cause fe failed to start.
    Introduced from #43959
---
 .../java/org/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 efd8e6bb7a7..d4b66d987bd 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 class PaimonExternalTable extends ExternalTable 
implements MvccTable {
     protected synchronized void makeSureInitialized() {
         super.makeSureInitialized();
         if (!objectCreated) {
+            this.paimonTable = ((PaimonExternalCatalog) 
catalog).getPaimonTable(dbName, name);
             objectCreated = true;
         }
     }
 
     public Table getPaimonTable(Optional<MvccSnapshot> snapshot) {
+        makeSureInitialized();
         return paimonTable.copy(
                 Collections.singletonMap(CoreOptions.SCAN_VERSION.key(),
                         
String.valueOf(getOrFetchSnapshotCacheValue(snapshot).getSnapshot().getSnapshotId())));


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to