diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/util/InternalDatabaseUtil.java b/fe/fe-core/src/main/java/org/apache/doris/common/util/InternalDatabaseUtil.java index f255b794cb..4b915a9171 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/util/InternalDatabaseUtil.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/util/InternalDatabaseUtil.java @@ -30,7 +30,8 @@ public class InternalDatabaseUtil { if (!FeConstants.INTERNAL_DB_NAME.equals(dbName)) { return; } - if (ctx == null || ctx.getCurrentUserIdentity() == null || !ctx.getCurrentUserIdentity().isRootUser()) { + if (ctx == null || ctx.getCurrentUserIdentity() == null + || !ctx.getCurrentUserIdentity().isRootUser() && !ctx.getCurrentUserIdentity().isAdminUser()) { throw new AnalysisException("Not allowed to operate database: " + dbName); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/util/StatisticsUtil.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/util/StatisticsUtil.java index 0794b35659..dc1dba5d98 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/util/StatisticsUtil.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/util/StatisticsUtil.java @@ -202,8 +202,8 @@ public class StatisticsUtil { sessionVariable.enableUniqueKeyPartialUpdate = false; connectContext.setEnv(Env.getCurrentEnv()); connectContext.setDatabase(FeConstants.INTERNAL_DB_NAME); - connectContext.setQualifiedUser(UserIdentity.ROOT.getQualifiedUser()); - connectContext.setCurrentUserIdentity(UserIdentity.ROOT); + connectContext.setQualifiedUser(UserIdentity.ADMIN.getQualifiedUser()); + connectContext.setCurrentUserIdentity(UserIdentity.ADMIN); connectContext.setStartTime(); return new AutoCloseConnectContext(connectContext); }