This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push: new 97a5b0de2ca [fix](auth)fix show load priv bug (#41723) (#42109) 97a5b0de2ca is described below commit 97a5b0de2ca9279fff3b3d708c6983796fef5bd1 Author: zhangdong <493738...@qq.com> AuthorDate: Wed Nov 6 14:57:40 2024 +0800 [fix](auth)fix show load priv bug (#41723) (#42109) pick: https://github.com/apache/doris/pull/41723 --- .../src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java | 6 ++++++ fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java | 4 +--- .../src/main/java/org/apache/doris/load/loadv2/LoadManager.java | 6 ++++++ 3 files changed, 13 insertions(+), 3 deletions(-) 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 e6cf238dd61..b15d21c2722 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 @@ -140,6 +140,8 @@ public abstract class BulkLoadJob extends LoadJob { bulkLoadJob.setComment(stmt.getComment()); bulkLoadJob.setJobProperties(stmt.getProperties()); bulkLoadJob.checkAndSetDataSourceInfo((Database) db, stmt.getDataDescriptions()); + // In the construction method, there may not be table information yet + bulkLoadJob.rebuildAuthorizationInfo(); return bulkLoadJob; } catch (MetaNotFoundException e) { throw new DdlException(e.getMessage()); @@ -172,6 +174,10 @@ public abstract class BulkLoadJob extends LoadJob { return new AuthorizationInfo(database.getFullName(), getTableNames()); } + public void rebuildAuthorizationInfo() throws MetaNotFoundException { + this.authorizationInfo = gatherAuthInfo(); + } + @Override public Set<String> getTableNamesForShow() { Optional<Database> db = Env.getCurrentInternalCatalog().getDb(dbId); diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java index 2e3b0e6e868..de2fa86aebc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadJob.java @@ -602,7 +602,7 @@ public abstract class LoadJob extends AbstractTxnStateChangeCallback implements } } - private void checkAuth(String command) throws DdlException { + public void checkAuth(String command) throws DdlException { if (authorizationInfo == null) { // use the old method to check priv checkAuthWithoutAuthInfo(command); @@ -754,8 +754,6 @@ public abstract class LoadJob extends AbstractTxnStateChangeCallback implements public List<Comparable> getShowInfo() throws DdlException { readLock(); try { - // check auth - checkAuth("SHOW LOAD"); List<Comparable> jobInfo = Lists.newArrayList(); // jobId jobInfo.add(id); diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java index e6cd4e77149..2c3bfd5201c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java @@ -611,6 +611,12 @@ public class LoadManager implements Writable { if (!states.contains(loadJob.getState())) { continue; } + // check auth + try { + loadJob.checkAuth("show load"); + } catch (DdlException e) { + continue; + } // add load job info loadJobInfos.add(loadJob.getShowInfo()); } catch (RuntimeException | DdlException e) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org