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