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

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


The following commit(s) were added to refs/heads/branch-3.0 by this push:
     new 3099edf80ff [fix](auth) Fix ResourceTypeEnum Compatibility Upgrade 
(#39288)
3099edf80ff is described below

commit 3099edf80fff4c6845a45489245f0f5f8783f48b
Author: Yongqiang YANG <dataroar...@gmail.com>
AuthorDate: Tue Aug 13 15:53:35 2024 +0800

    [fix](auth) Fix ResourceTypeEnum Compatibility Upgrade (#39288)
---
 .../src/main/java/org/apache/doris/analysis/ResourcePattern.java     | 4 ++++
 fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Role.java  | 5 +++++
 2 files changed, 9 insertions(+)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/ResourcePattern.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/ResourcePattern.java
index ecfcb980613..2052c4e9eb8 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ResourcePattern.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ResourcePattern.java
@@ -134,5 +134,9 @@ public class ResourcePattern implements Writable, 
GsonPostProcessable {
         if ("*".equals(resourceName)) {
             resourceName = "%";
         }
+        // 2.x -> 3.0 compatibility logic
+        if (resourceType == null) {
+            resourceType = ResourceTypeEnum.GENERAL;
+        }
     }
 }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Role.java 
b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Role.java
index 8354c655e2a..354d4579055 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Role.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Role.java
@@ -152,6 +152,11 @@ public class Role implements Writable, GsonPostProcessable 
{
     public Role(String roleName, ResourcePattern resourcePattern, PrivBitSet 
privs) throws DdlException {
         this.roleName = roleName;
         // grant has trans privs
+        // 2.x -> 3.0 compatibility logic
+        if (resourcePattern.getResourceType() == null) {
+            // 2.x not have cloud auth, so just transfer to 
ResourceTypeEnum.GENERAL
+            resourcePattern.setResourceType(ResourceTypeEnum.GENERAL);
+        }
         switch (resourcePattern.getResourceType()) {
             case GENERAL:
                 this.resourcePatternToPrivs.put(resourcePattern, privs);


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

Reply via email to