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 2024/02/23 12:59:20 UTC

(doris) branch branch-2.1 updated: [Fix](multi-catalog) Fix NPE when refreshing catalog on Slave FE. (#31335)

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

yiguolei 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 49842eecc59 [Fix](multi-catalog) Fix NPE when refreshing catalog on Slave FE. (#31335)
49842eecc59 is described below

commit 49842eecc59c2b76dda23ebab1a46e40d83057c2
Author: Xiangyu Wang <du...@gmail.com>
AuthorDate: Fri Feb 23 20:58:33 2024 +0800

    [Fix](multi-catalog) Fix NPE when refreshing catalog on Slave FE. (#31335)
    
    
    ---------
    
    Co-authored-by: wangxiangyu <wa...@360shuke.com>
---
 .../datasource/hive/event/MetastoreEventsProcessor.java     | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/event/MetastoreEventsProcessor.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/event/MetastoreEventsProcessor.java
index 00f7bd1be08..e5db75ff9f3 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/event/MetastoreEventsProcessor.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/event/MetastoreEventsProcessor.java
@@ -19,6 +19,7 @@
 package org.apache.doris.datasource.hive.event;
 
 import org.apache.doris.analysis.RedirectStatus;
+import org.apache.doris.analysis.UserIdentity;
 import org.apache.doris.catalog.Env;
 import org.apache.doris.common.Config;
 import org.apache.doris.common.util.MasterDaemon;
@@ -29,6 +30,7 @@ import org.apache.doris.datasource.hive.HMSExternalCatalog;
 import org.apache.doris.qe.ConnectContext;
 import org.apache.doris.qe.MasterOpExecutor;
 import org.apache.doris.qe.OriginStatement;
+import org.apache.doris.system.SystemInfoService;
 
 import com.google.common.collect.Maps;
 import org.apache.commons.lang3.StringUtils;
@@ -264,7 +266,7 @@ public class MetastoreEventsProcessor extends MasterDaemon {
             // Need a fallback to handle this because this error state can not be recovered until restarting FE
             if (StringUtils.isNotEmpty(e.getMessage())
                     && e.getMessage().contains(HiveMetaStoreClient.REPL_EVENTS_MISSING_IN_METASTORE)) {
-                refreshCatalogForMaster(hmsExternalCatalog);
+                refreshCatalogForSlave(hmsExternalCatalog);
                 // set masterLastSyncedEventId to lastSyncedEventId after refresh catalog successfully
                 updateLastSyncedEventId(hmsExternalCatalog, masterLastSyncedEventId);
                 LOG.warn("Notification events are missing, maybe an event can not be handled "
@@ -314,8 +316,13 @@ public class MetastoreEventsProcessor extends MasterDaemon {
         // Transfer to master to refresh catalog
         String sql = "REFRESH CATALOG " + hmsExternalCatalog.getName();
         OriginStatement originStmt = new OriginStatement(sql, 0);
-        MasterOpExecutor masterOpExecutor = new MasterOpExecutor(originStmt, new ConnectContext(),
-                    RedirectStatus.FORWARD_WITH_SYNC, false);
+        ConnectContext ctx = new ConnectContext();
+        ctx.setQualifiedUser(UserIdentity.ROOT.getQualifiedUser());
+        ctx.setCurrentUserIdentity(UserIdentity.ROOT);
+        ctx.setEnv(Env.getCurrentEnv());
+        ctx.setCluster(SystemInfoService.DEFAULT_CLUSTER);
+        MasterOpExecutor masterOpExecutor = new MasterOpExecutor(originStmt, ctx,
+                RedirectStatus.FORWARD_WITH_SYNC, false);
         if (LOG.isDebugEnabled()) {
             LOG.debug("Transfer to master to refresh catalog, stmt: {}", sql);
         }


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