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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]