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

yangzhg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 2dbcb72  [Bug] Fix bug that failed to write meta image of load job 
(#5029)
2dbcb72 is described below

commit 2dbcb726ac8c93e5cbffd49509ede1cebc9d7d70
Author: Mingyu Chen <[email protected]>
AuthorDate: Tue Dec 8 10:00:42 2020 +0800

    [Bug] Fix bug that failed to write meta image of load job (#5029)
    
    In #4863, we add userInfo in load job, but the userInfo must be analyzed
    so that it can be written to the image.
---
 .../main/java/org/apache/doris/analysis/UserIdentity.java  |  3 +++
 .../java/org/apache/doris/load/loadv2/BulkLoadJob.java     | 14 ++++++--------
 .../java/org/apache/doris/mysql/privilege/PaloAuth.java    |  8 +++++---
 3 files changed, 14 insertions(+), 11 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/UserIdentity.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/UserIdentity.java
index 95fe6e4..51822d1 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/UserIdentity.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/UserIdentity.java
@@ -48,12 +48,15 @@ public class UserIdentity implements Writable {
 
     public static final UserIdentity ROOT;
     public static final UserIdentity ADMIN;
+    public static final UserIdentity UNKNOWN;
 
     static {
         ROOT = new UserIdentity(PaloAuth.ROOT_USER, "%");
         ROOT.setIsAnalyzed();
         ADMIN = new UserIdentity(PaloAuth.ADMIN_USER, "%");
         ADMIN.setIsAnalyzed();
+        UNKNOWN = new UserIdentity(PaloAuth.UNKNOWN_USER, "%");
+        UNKNOWN.setIsAnalyzed();
     }
 
     private UserIdentity() {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java 
b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java
index 8ad3c53..0631e0b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java
@@ -45,14 +45,14 @@ import org.apache.doris.qe.SqlModeHelper;
 import org.apache.doris.transaction.TabletCommitInfo;
 import org.apache.doris.transaction.TransactionState;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
 import com.google.common.base.Strings;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
@@ -340,8 +340,10 @@ public abstract class BulkLoadJob extends LoadJob {
 
         if (Catalog.getCurrentCatalogJournalVersion() >= 
FeMetaVersion.VERSION_93) {
             userInfo = UserIdentity.read(in);
+            // must set is as analyzed, because when write the user info to 
meta image, it will be checked.
+            userInfo.setIsAnalyzed();
         } else {
-            userInfo = new UserIdentity("","");
+            userInfo = UserIdentity.UNKNOWN;
         }
         if (Catalog.getCurrentCatalogJournalVersion() >= 
FeMetaVersion.VERSION_66) {
             int size = in.readInt();
@@ -359,8 +361,4 @@ public abstract class BulkLoadJob extends LoadJob {
     public UserIdentity getUserInfo() {
         return userInfo;
     }
-
-    public void setUserInfo(UserIdentity userInfo) {
-        this.userInfo = userInfo;
-    }
 }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/PaloAuth.java 
b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/PaloAuth.java
index 4cbe28c..a49329e 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/PaloAuth.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/PaloAuth.java
@@ -45,14 +45,14 @@ import org.apache.doris.qe.ConnectContext;
 import org.apache.doris.thrift.TFetchResourceResult;
 import org.apache.doris.thrift.TPrivilegeStatus;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
 import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
@@ -68,6 +68,8 @@ public class PaloAuth implements Writable {
     // each Palo system has only one root user.
     public static final String ROOT_USER = "root";
     public static final String ADMIN_USER = "admin";
+    // unknown user does not have any privilege, this is just to be compatible 
with old version.
+    public static final String UNKNOWN_USER = "unknown";
 
     private UserPrivTable userPrivTable = new UserPrivTable();
     private DbPrivTable dbPrivTable = new DbPrivTable();


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

Reply via email to