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 f255b794cbd4ad..4b915a9171ff36 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 static void checkDatabase(String dbName, ConnectContext ctx) throws Analy 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 c2c7de48a9c489..47b26e6a4ea14a 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 @@ -203,8 +203,8 @@ public static AutoCloseConnectContext buildConnectContext(boolean limitScan) { 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); }