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

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


The following commit(s) were added to refs/heads/branch-3.1 by this push:
     new f92664dee4a branch-3.1: [fix](cloud) Fix virtual compute group expand 
the usage permissions of compute group #57516 (#58233)
f92664dee4a is described below

commit f92664dee4af4e6ac6da306aba0d7cdb35151657
Author: deardeng <[email protected]>
AuthorDate: Wed Nov 26 10:41:10 2025 +0800

    branch-3.1: [fix](cloud) Fix virtual compute group expand the usage 
permissions of compute group #57516 (#58233)
    
    cherry pick from #57516
---
 .../org/apache/doris/cloud/system/CloudSystemInfoService.java  |  4 ++--
 .../java/org/apache/doris/mysql/privilege/CloudAuthTest.java   | 10 +++++++---
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java
 
b/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java
index 7555e145af7..d2d3235f40b 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java
@@ -180,10 +180,10 @@ public class CloudSystemInfoService extends 
SystemInfoService {
                 if 
(computeGroupName.equals(vcg.getPolicy().getActiveComputeGroup())) {
                     return vcg.getName();
                 }
-                if 
(vcg.getPolicy().getStandbyComputeGroup().contains(computeGroupName)) {
+                if 
(vcg.getPolicy().getStandbyComputeGroup().equals(computeGroupName)) {
                     return vcg.getName();
                 }
-                if (vcg.getSubComputeGroups().contains(computeGroupName)) {
+                if (vcg.getSubComputeGroups().stream().anyMatch(subCgName -> 
subCgName.equals(computeGroupName))) {
                     return vcg.getName();
                 }
             }
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/mysql/privilege/CloudAuthTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/mysql/privilege/CloudAuthTest.java
index 8334aa3a835..272f06d98fe 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/mysql/privilege/CloudAuthTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/mysql/privilege/CloudAuthTest.java
@@ -479,9 +479,11 @@ public class CloudAuthTest {
             Assert.fail();
         }
         // create vcg, sub cg(cg1, cg2), add to systemInfoService
-        ComputeGroup vcg  = new ComputeGroup("vcg_id", virtualComputeGroup, 
ComputeGroup.ComputeTypeEnum.VIRTUAL);
-        vcg.setSubComputeGroups(Lists.newArrayList(computeGroup2, 
computeGroup1));
-        systemInfoService.addComputeGroup(virtualComputeGroup, vcg);
+        ComputeGroup vcg  = new ComputeGroup("vcg_id", "vcg", 
ComputeGroup.ComputeTypeEnum.VIRTUAL);
+        vcg.setSubComputeGroups(Lists.newArrayList("cg2", "cg1"));
+        systemInfoService.addComputeGroup("vcg_id", vcg);
+        ComputeGroup cg  = new ComputeGroup("vcg_id", "vcg", 
ComputeGroup.ComputeTypeEnum.COMPUTE);
+        systemInfoService.addComputeGroup("cg", cg);
         ComputeGroup.Policy policy = new ComputeGroup.Policy();
         policy.setActiveComputeGroup(computeGroup1);
         policy.setStandbyComputeGroup(computeGroup2);
@@ -495,6 +497,8 @@ public class CloudAuthTest {
                 PrivPredicate.USAGE, ResourceTypeEnum.CLUSTER));
         Assert.assertTrue(accessManager.checkCloudPriv(userIdentity, 
computeGroup2,
                 PrivPredicate.USAGE, ResourceTypeEnum.CLUSTER));
+        Assert.assertFalse(accessManager.checkCloudPriv(new 
UserIdentity("testUser", "%"), "cg",
+                PrivPredicate.USAGE, ResourceTypeEnum.CLUSTER));
         ShowResultSet showResultSet = testShowGrants(userIdentity);
         // cluster field
         Assert.assertEquals("vcg: Cluster_usage_priv", 
showResultSet.getResultRows().get(0).get(10));


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to