You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2026/03/13 06:37:59 UTC
(doris) branch master updated: [cleanup](fe) Remove legacy ClusterNamespace class (#61256)
This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new a14befcffbe [cleanup](fe) Remove legacy ClusterNamespace class (#61256)
a14befcffbe is described below
commit a14befcffbe680f950c1885cddb15eb8e62f21a2
Author: morrySnow <zh...@selectdb.com>
AuthorDate: Fri Mar 13 14:37:50 2026 +0800
[cleanup](fe) Remove legacy ClusterNamespace class (#61256)
## Background
`ClusterNamespace` is a legacy artifact from the multi-tenancy era. In
earlier versions, Apache Doris implemented multi-tenancy by prefixing
database names with a cluster name using `:` as a separator. This
functionality has since been completely removed, but the
`ClusterNamespace` class and related legacy code remained.
## Changes
- Remove all `ClusterNamespace.getNameFromFullName()` calls (~122 call
sites), replacing each with its original argument
- Remove all `import org.apache.doris.cluster.ClusterNamespace`
statements
- Delete `ClusterNamespace.java`
- Clean up dead code left behind (no-op self-assignments, stale comments
like "should be removed in 3.0", empty `removeClusterPrefix()` methods)
- Fix import ordering to satisfy checkstyle
Co-authored-by: Copilot <22...@users.noreply.github.com>
---
.../org/apache/doris/analysis/DataDescription.java | 3 +-
.../org/apache/doris/analysis/TablePattern.java | 8 ---
.../org/apache/doris/analysis/UserIdentity.java | 9 +---
.../org/apache/doris/backup/BackupHandler.java | 3 +-
.../java/org/apache/doris/catalog/Database.java | 4 +-
.../java/org/apache/doris/catalog/TableIf.java | 5 +-
.../ranger/doris/RangerDorisAccessController.java | 17 +++----
.../ranger/hive/RangerHiveAccessController.java | 15 +++---
.../apache/doris/cloud/CacheHotspotManager.java | 2 +-
.../cloud/datasource/CloudInternalCatalog.java | 4 +-
.../org/apache/doris/cluster/ClusterNamespace.java | 59 ----------------------
.../org/apache/doris/datasource/CatalogMgr.java | 5 +-
.../apache/doris/datasource/ExternalCatalog.java | 16 +++---
.../doris/datasource/ExternalMetaCacheMgr.java | 6 +--
.../apache/doris/datasource/InternalCatalog.java | 5 +-
.../doris/datasource/hive/HMSExternalCatalog.java | 7 ++-
.../doris/httpv2/controller/BaseController.java | 7 +--
.../apache/doris/httpv2/rest/CancelLoadAction.java | 2 +-
.../apache/doris/httpv2/rest/CopyIntoAction.java | 4 +-
.../apache/doris/httpv2/rest/GetDdlStmtAction.java | 2 +-
.../doris/httpv2/rest/GetStreamLoadState.java | 2 +-
.../org/apache/doris/httpv2/rest/LoadAction.java | 7 +--
.../apache/doris/httpv2/rest/MetaInfoAction.java | 13 ++---
.../doris/httpv2/rest/RestBaseController.java | 8 +--
.../apache/doris/httpv2/rest/RowCountAction.java | 3 +-
.../org/apache/doris/httpv2/rest/ShowAction.java | 19 +++----
.../doris/httpv2/rest/StmtExecutionAction.java | 7 ++-
.../doris/httpv2/rest/StorageTypeCheckAction.java | 3 +-
.../doris/httpv2/rest/TableQueryPlanAction.java | 12 ++---
.../doris/httpv2/rest/TableRowCountAction.java | 5 +-
.../doris/httpv2/rest/TableSchemaAction.java | 13 ++---
.../org/apache/doris/httpv2/rest/UploadAction.java | 12 ++---
.../doris/httpv2/restv2/MetaInfoActionV2.java | 13 ++---
.../apache/doris/httpv2/util/LoadSubmitter.java | 3 +-
.../org/apache/doris/load/StreamLoadHandler.java | 3 +-
.../apache/doris/load/loadv2/MysqlLoadManager.java | 5 +-
.../mysql/authenticate/ldap/LdapAuthenticator.java | 3 +-
.../doris/mysql/authenticate/ldap/LdapManager.java | 5 +-
.../org/apache/doris/mysql/privilege/Auth.java | 15 +++---
.../doris/mysql/privilege/ColPrivilegeKey.java | 8 ++-
.../apache/doris/mysql/privilege/DbPrivEntry.java | 3 +-
.../org/apache/doris/mysql/privilege/Role.java | 13 -----
.../apache/doris/mysql/privilege/RoleManager.java | 23 ++-------
.../apache/doris/mysql/privilege/UserManager.java | 24 +--------
.../doris/mysql/privilege/UserPropertyInfo.java | 9 +---
.../doris/mysql/privilege/UserPropertyMgr.java | 3 +-
.../doris/mysql/privilege/UserRoleManager.java | 16 +-----
.../doris/nereids/load/NereidsDataDescription.java | 3 +-
.../nereids/rules/analysis/UserAuthentication.java | 3 +-
.../exploration/mv/MaterializationContext.java | 9 ++--
.../expression/rules/FoldConstantRuleOnFE.java | 3 +-
.../plans/commands/CleanQueryStatsCommand.java | 3 +-
.../trees/plans/commands/ShowClustersCommand.java | 3 +-
.../plans/commands/ShowCreateDatabaseCommand.java | 7 ++-
.../trees/plans/commands/ShowDatabasesCommand.java | 3 +-
.../plans/commands/ShowPartitionsCommand.java | 7 ++-
.../trees/plans/commands/ShowTableCommand.java | 5 +-
.../trees/plans/commands/info/AlterUserInfo.java | 3 +-
.../trees/plans/commands/info/CopyIntoInfo.java | 3 +-
.../trees/plans/commands/info/CreateUserInfo.java | 6 +--
.../plans/commands/load/MysqlDataDescription.java | 3 +-
.../doris/persist/AlterDatabasePropertyInfo.java | 9 +---
.../org/apache/doris/persist/CreateTableInfo.java | 9 +---
.../org/apache/doris/persist/DatabaseInfo.java | 14 +----
.../java/org/apache/doris/persist/DropDbInfo.java | 9 +---
.../java/org/apache/doris/persist/PrivInfo.java | 23 +--------
.../java/org/apache/doris/persist/RecoverInfo.java | 9 +---
.../java/org/apache/doris/policy/PolicyMgr.java | 3 +-
.../java/org/apache/doris/qe/AuditLogHelper.java | 5 +-
.../java/org/apache/doris/qe/ConnectContext.java | 5 +-
.../apache/doris/service/FrontendServiceImpl.java | 15 +++---
.../rules/analysis/NormalizeAggregateTest.java | 2 +-
.../rules/analysis/UserAuthenticationTest.java | 48 ------------------
.../DecomposeRepeatWithPreAggregationTest.java | 2 +-
.../rules/rewrite/EliminateGroupByTest.java | 2 +-
.../rules/rewrite/EliminateJoinByFkTest.java | 2 +-
.../rules/rewrite/EliminateJoinByUniqueTest.java | 2 +-
.../rules/rewrite/MergePercentileToArrayTest.java | 2 +-
.../nereids/rules/rewrite/OrExpansionTest.java | 2 +-
.../rules/rewrite/PullUpJoinFromUnionTest.java | 2 +-
.../rewrite/PushDownAggThroughJoinOnPkFkTest.java | 2 +-
.../eageraggregation/EagerAggRewriterTest.java | 2 +-
.../bindExpression/bind_dbname_ignore_cluster.out | 4 --
.../bind_dbname_ignore_cluster.groovy | 41 ---------------
84 files changed, 161 insertions(+), 547 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DataDescription.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DataDescription.java
index 08b8141e443..ace1bc5f2be 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DataDescription.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DataDescription.java
@@ -24,7 +24,6 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.FunctionSet;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.info.PartitionNamesInfo;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
@@ -753,7 +752,7 @@ public class DataDescription {
sb.append(" NEGATIVE");
}
sb.append(" INTO TABLE ");
- sb.append(isMysqlLoad ? ClusterNamespace.getNameFromFullName(dbName) + "." + tableName : tableName);
+ sb.append(isMysqlLoad ? dbName + "." + tableName : tableName);
if (partitionNamesInfo != null) {
sb.append(" ");
sb.append(partitionNamesInfo.toSql());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/TablePattern.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/TablePattern.java
index a6e4b688785..d222c200d54 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/TablePattern.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/TablePattern.java
@@ -17,7 +17,6 @@
package org.apache.doris.analysis;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
@@ -119,12 +118,6 @@ public class TablePattern implements Writable, GsonPostProcessable {
analyze(ctl);
}
- private void removeClusterPrefix() {
- if (db != null) {
- db = ClusterNamespace.getNameFromFullName(db);
- }
- }
-
@Override
public boolean equals(Object obj) {
if (!(obj instanceof TablePattern)) {
@@ -155,7 +148,6 @@ public class TablePattern implements Writable, GsonPostProcessable {
@Override
public void gsonPostProcess() throws IOException {
- removeClusterPrefix();
isAnalyzed = true;
}
}
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 54b59778321..2c2ce9ba07c 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
@@ -17,7 +17,6 @@
package org.apache.doris.analysis;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.CaseSensibility;
import org.apache.doris.common.FeNameFormat;
@@ -284,7 +283,7 @@ public class UserIdentity implements Writable, GsonPostProcessable {
// return default_role_rbac_username@host or default_role_rbac_username@[domain]
public String toDefaultRoleName() {
StringBuilder sb = new StringBuilder(
- RoleManager.DEFAULT_ROLE_PREFIX + ClusterNamespace.getNameFromFullName(user) + "@");
+ RoleManager.DEFAULT_ROLE_PREFIX + user + "@");
if (isDomain) {
sb.append("[");
}
@@ -295,11 +294,6 @@ public class UserIdentity implements Writable, GsonPostProcessable {
return sb.toString();
}
- // should be remove after version 3.0
- public void removeClusterPrefix() {
- user = ClusterNamespace.getNameFromFullName(user);
- }
-
public static UserIdentity read(DataInput in) throws IOException {
String json = Text.readString(in);
UserIdentity userIdentity = GsonUtils.GSON.fromJson(json, UserIdentity.class);
@@ -354,6 +348,5 @@ public class UserIdentity implements Writable, GsonPostProcessable {
@Override
public void gsonPostProcess() throws IOException {
isAnalyzed = true;
- removeClusterPrefix();
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/backup/BackupHandler.java b/fe/fe-core/src/main/java/org/apache/doris/backup/BackupHandler.java
index f02c7e6e21f..1ae0e75ac10 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/backup/BackupHandler.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/backup/BackupHandler.java
@@ -29,7 +29,6 @@ import org.apache.doris.catalog.Table;
import org.apache.doris.catalog.TableIf.TableType;
import org.apache.doris.catalog.info.PartitionNamesInfo;
import org.apache.doris.cloud.backup.CloudRestoreJob;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.ErrorCode;
@@ -566,7 +565,7 @@ public class BackupHandler extends MasterDaemon implements Writable {
// Create a backup job
BackupJob backupJob = new BackupJob(command.getLabel(), db.getId(),
- ClusterNamespace.getNameFromFullName(db.getFullName()),
+ db.getFullName(),
tableRefInfoList, command.getTimeoutMs(), command.getContent(), env, repoId, commitSeq);
// write log
env.getEditLog().logBackupJob(backupJob);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Database.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Database.java
index 5d5d98ad8c6..12cdba88935 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Database.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Database.java
@@ -19,7 +19,6 @@ package org.apache.doris.catalog;
import org.apache.doris.catalog.TableIf.TableType;
import org.apache.doris.cloud.catalog.CloudEnv;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.Config;
import org.apache.doris.common.DdlException;
@@ -246,8 +245,7 @@ public class Database extends MetaObject implements Writable, DatabaseIf<Table>,
}
public void setNameWithoutLock(String newName) {
- // ClusterNamespace.getNameFromFullName should be removed in 3.0
- this.fullQualifiedName = ClusterNamespace.getNameFromFullName(newName);
+ this.fullQualifiedName = newName;
for (Table table : idToTable.values()) {
table.setQualifiedDbName(fullQualifiedName);
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java
index 5af24ed4979..e412e43f815 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java
@@ -18,7 +18,6 @@
package org.apache.doris.catalog;
import org.apache.doris.alter.AlterCancelException;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.MetaNotFoundException;
import org.apache.doris.common.Pair;
@@ -313,7 +312,7 @@ public interface TableIf {
default List<String> getFullQualifiers() {
return ImmutableList.of(getDatabase().getCatalog().getName(),
- ClusterNamespace.getNameFromFullName(getDatabase().getFullName()),
+ getDatabase().getFullName(),
getName());
}
@@ -324,7 +323,7 @@ public interface TableIf {
return "null.null." + getName();
} else {
return db.getCatalog().getName()
- + "." + ClusterNamespace.getNameFromFullName(db.getFullName())
+ + "." + db.getFullName()
+ "." + getName();
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/ranger/doris/RangerDorisAccessController.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/ranger/doris/RangerDorisAccessController.java
index 9ed9daa08f8..02420d2341c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/ranger/doris/RangerDorisAccessController.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/ranger/doris/RangerDorisAccessController.java
@@ -20,7 +20,6 @@ package org.apache.doris.catalog.authorizer.ranger.doris;
import org.apache.doris.analysis.ResourceTypeEnum;
import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.catalog.authorizer.ranger.RangerAccessController;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AuthorizationException;
import org.apache.doris.mysql.privilege.PrivBitSet;
import org.apache.doris.mysql.privilege.PrivPredicate;
@@ -76,7 +75,7 @@ public class RangerDorisAccessController extends RangerAccessController {
@Override
protected RangerAccessRequestImpl createRequest(UserIdentity currentUser) {
RangerAccessRequestImpl request = new RangerAccessRequestImpl();
- request.setUser(ClusterNamespace.getNameFromFullName(currentUser.getQualifiedUser()));
+ request.setUser(currentUser.getQualifiedUser());
request.setClientIPAddress(currentUser.getHost());
request.setClusterType(CLIENT_TYPE_DORIS);
request.setClientType(CLIENT_TYPE_DORIS);
@@ -176,13 +175,13 @@ public class RangerDorisAccessController extends RangerAccessController {
private boolean checkDbPrivInternal(UserIdentity currentUser, String ctl, String db, PrivPredicate wanted,
PrivBitSet checkedPrivs) {
RangerDorisResource resource = new RangerDorisResource(DorisObjectType.DATABASE, ctl,
- ClusterNamespace.getNameFromFullName(db));
+ db);
return checkPrivilege(currentUser, wanted, resource, checkedPrivs);
}
private boolean checkAnyPrivWithinDb(UserIdentity currentUser, String ctl, String db) {
RangerDorisResource resource = new RangerDorisResource(DorisObjectType.DATABASE, ctl,
- ClusterNamespace.getNameFromFullName(db));
+ db);
return checkShowPrivilegeByPlugin(currentUser, resource);
}
@@ -204,13 +203,13 @@ public class RangerDorisAccessController extends RangerAccessController {
private boolean checkTblPrivInternal(UserIdentity currentUser, String ctl, String db, String tbl,
PrivPredicate wanted, PrivBitSet checkedPrivs) {
RangerDorisResource resource = new RangerDorisResource(DorisObjectType.TABLE,
- ctl, ClusterNamespace.getNameFromFullName(db), tbl);
+ ctl, db, tbl);
return checkPrivilege(currentUser, wanted, resource, checkedPrivs);
}
private boolean checkAnyPrivWithinTbl(UserIdentity currentUser, String ctl, String db, String tbl) {
RangerDorisResource resource = new RangerDorisResource(DorisObjectType.TABLE,
- ctl, ClusterNamespace.getNameFromFullName(db), tbl);
+ ctl, db, tbl);
return checkShowPrivilegeByPlugin(currentUser, resource);
}
@@ -238,7 +237,7 @@ public class RangerDorisAccessController extends RangerAccessController {
private boolean checkColPrivInternal(UserIdentity currentUser, String ctl, String db, String tbl, String col,
PrivPredicate wanted, PrivBitSet checkedPrivs) {
RangerDorisResource resource = new RangerDorisResource(DorisObjectType.COLUMN,
- ctl, ClusterNamespace.getNameFromFullName(db), tbl, col);
+ ctl, db, tbl, col);
return checkPrivilege(currentUser, wanted, resource, checkedPrivs);
}
@@ -312,13 +311,13 @@ public class RangerDorisAccessController extends RangerAccessController {
@Override
protected RangerDorisResource createResource(String ctl, String db, String tbl) {
return new RangerDorisResource(DorisObjectType.TABLE,
- ctl, ClusterNamespace.getNameFromFullName(db), tbl);
+ ctl, db, tbl);
}
@Override
protected RangerDorisResource createResource(String ctl, String db, String tbl, String col) {
return new RangerDorisResource(DorisObjectType.COLUMN,
- ctl, ClusterNamespace.getNameFromFullName(db), tbl, col);
+ ctl, db, tbl, col);
}
@Override
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/ranger/hive/RangerHiveAccessController.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/ranger/hive/RangerHiveAccessController.java
index 74be9f24bfe..ae86e1ff14f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/ranger/hive/RangerHiveAccessController.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/ranger/hive/RangerHiveAccessController.java
@@ -21,7 +21,6 @@ import org.apache.doris.analysis.ResourceTypeEnum;
import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.authorizer.ranger.RangerAccessController;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AuthorizationException;
import org.apache.doris.common.ThreadPoolManager;
import org.apache.doris.datasource.InternalCatalog;
@@ -82,9 +81,9 @@ public class RangerHiveAccessController extends RangerAccessController {
protected RangerAccessRequestImpl createRequest(UserIdentity currentUser) {
RangerAccessRequestImpl request = new RangerAccessRequestImpl();
String user = currentUser.getQualifiedUser();
- request.setUser(ClusterNamespace.getNameFromFullName(user));
+ request.setUser(user);
Set<String> roles = Env.getCurrentEnv().getAuth().getRolesByUser(currentUser, false);
- request.setUserRoles(roles.stream().map(role -> ClusterNamespace.getNameFromFullName(role)).collect(
+ request.setUserRoles(roles.stream().collect(
Collectors.toSet()));
request.setClientIPAddress(currentUser.getHost());
request.setClusterType(CLIENT_TYPE_DORIS);
@@ -152,14 +151,14 @@ public class RangerHiveAccessController extends RangerAccessController {
@Override
public boolean checkDbPriv(UserIdentity currentUser, String ctl, String db, PrivPredicate wanted) {
RangerHiveResource resource = new RangerHiveResource(HiveObjectType.DATABASE,
- ClusterNamespace.getNameFromFullName(db));
+ db);
return checkPrivilege(currentUser, convertToAccessType(wanted), resource);
}
@Override
public boolean checkTblPriv(UserIdentity currentUser, String ctl, String db, String tbl, PrivPredicate wanted) {
RangerHiveResource resource = new RangerHiveResource(HiveObjectType.TABLE,
- ClusterNamespace.getNameFromFullName(db), tbl);
+ db, tbl);
return checkPrivilege(currentUser, convertToAccessType(wanted), resource);
}
@@ -169,7 +168,7 @@ public class RangerHiveAccessController extends RangerAccessController {
List<RangerHiveResource> resources = new ArrayList<>();
for (String col : cols) {
RangerHiveResource resource = new RangerHiveResource(HiveObjectType.COLUMN,
- ClusterNamespace.getNameFromFullName(db), tbl, col);
+ db, tbl, col);
resources.add(resource);
}
@@ -202,13 +201,13 @@ public class RangerHiveAccessController extends RangerAccessController {
@Override
protected RangerHiveResource createResource(String ctl, String db, String tbl) {
return new RangerHiveResource(HiveObjectType.TABLE,
- ClusterNamespace.getNameFromFullName(db), tbl);
+ db, tbl);
}
@Override
protected RangerHiveResource createResource(String ctl, String db, String tbl, String col) {
return new RangerHiveResource(HiveObjectType.COLUMN,
- ClusterNamespace.getNameFromFullName(db), tbl, col);
+ db, tbl, col);
}
@Override
diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/CacheHotspotManager.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/CacheHotspotManager.java
index cac253243ff..500f65de153 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/cloud/CacheHotspotManager.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/CacheHotspotManager.java
@@ -528,7 +528,7 @@ public class CacheHotspotManager extends MasterDaemon {
String dbName = tmp[0];
Long partitionId = Long.parseLong(line.get(2));
Long indexId = Long.parseLong(line.get(3));
- Database db = Env.getCurrentInternalCatalog().getDbNullable("default_cluster:" + dbName);
+ Database db = Env.getCurrentInternalCatalog().getDbNullable(dbName);
if (db == null) {
continue;
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java
index 173b0a1d57b..1c1c0385c5b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java
@@ -53,7 +53,6 @@ import org.apache.doris.cloud.proto.Cloud.ObjectFilePB;
import org.apache.doris.cloud.rpc.MetaServiceProxy;
import org.apache.doris.cloud.storage.ObjectFile;
import org.apache.doris.cloud.system.CloudSystemInfoService;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.MetaNotFoundException;
@@ -1271,8 +1270,7 @@ public class CloudInternalCatalog extends InternalCatalog {
if (response.getStatus().getCode() == MetaServiceCode.STATE_ALREADY_EXISTED_FOR_USER
|| response.getStatus().getCode() == MetaServiceCode.STAGE_NOT_FOUND) {
Cloud.StagePB.Builder createStageBuilder = Cloud.StagePB.newBuilder();
- createStageBuilder.addMysqlUserName(ClusterNamespace
- .getNameFromFullName(ConnectContext.get().getCurrentUserIdentity().getQualifiedUser()))
+ createStageBuilder.addMysqlUserName(ConnectContext.get().getCurrentUserIdentity().getQualifiedUser())
.setStageId(UUID.randomUUID().toString())
.setType(Cloud.StagePB.StageType.INTERNAL).addMysqlUserId(userId);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/cluster/ClusterNamespace.java b/fe/fe-core/src/main/java/org/apache/doris/cluster/ClusterNamespace.java
deleted file mode 100644
index 34a565ef453..00000000000
--- a/fe/fe-core/src/main/java/org/apache/doris/cluster/ClusterNamespace.java
+++ /dev/null
@@ -1,59 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.cluster;
-
-import com.google.common.base.Strings;
-
-/**
- * used to isolate the use for the database name and user name in the catalog,
- * all using the database name and user name place need to call the appropriate
- * method to makeup full name or get real name, full name is made up generally
- * in stmt's analyze.
- *
- */
-public class ClusterNamespace {
-
- private static final String CLUSTER_DELIMITER = ":";
-
- public static String getNameFromFullName(String fullName) {
- if (!checkName(fullName)) {
- return fullName;
- }
- return extract(fullName, 1);
- }
-
- private static boolean checkName(String str) {
- if (Strings.isNullOrEmpty(str)) {
- return false;
- }
-
- char delimiter = CLUSTER_DELIMITER.charAt(0);
- int delimiterNum = 0;
- for (int i = 0; i < str.length(); i++) {
- if (str.charAt(i) == delimiter) {
- delimiterNum++;
- }
- }
- return delimiterNum >= 1;
- }
-
- private static String extract(String fullName, int index) {
- final String[] ele = fullName.split(CLUSTER_DELIMITER);
- return ele[index];
- }
-}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java
index ec8cc1f1422..b42e37322a1 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java
@@ -22,7 +22,6 @@ import org.apache.doris.catalog.DatabaseIf;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.EnvFactory;
import org.apache.doris.catalog.TableIf;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.CaseSensibility;
import org.apache.doris.common.DdlException;
@@ -444,7 +443,7 @@ public class CatalogMgr implements Writable, GsonPostProcessable {
throw new AnalysisException("No catalog found with name " + catalogName);
}
StringBuilder sb = new StringBuilder();
- sb.append("\nCREATE CATALOG `").append(ClusterNamespace.getNameFromFullName(catalogName))
+ sb.append("\nCREATE CATALOG `").append(catalogName)
.append("`");
if (!Strings.isNullOrEmpty(catalog.getComment())) {
sb.append("\nCOMMENT \"").append(catalog.getComment()).append("\"\n");
@@ -459,7 +458,7 @@ public class CatalogMgr implements Writable, GsonPostProcessable {
sb.append("\n);");
}
- rows.add(Lists.newArrayList(ClusterNamespace.getNameFromFullName(catalogName), sb.toString()));
+ rows.add(Lists.newArrayList(catalogName, sb.toString()));
} finally {
readUnlock();
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java
index 489710d64e1..27a31ec0e1d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java
@@ -29,7 +29,6 @@ import org.apache.doris.catalog.info.CreateOrReplaceTagInfo;
import org.apache.doris.catalog.info.DropBranchInfo;
import org.apache.doris.catalog.info.DropTagInfo;
import org.apache.doris.catalog.info.PartitionNamesInfo;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.FeConstants;
@@ -697,25 +696,24 @@ public abstract class ExternalCatalog
LOG.warn("failed to get db {} in catalog {}", dbName, name, e);
return null;
}
- String realDbName = ClusterNamespace.getNameFromFullName(dbName);
// information_schema db name is case-insensitive.
// So, we first convert it to standard database name.
- if (realDbName.equalsIgnoreCase(InfoSchemaDb.DATABASE_NAME)) {
- realDbName = InfoSchemaDb.DATABASE_NAME;
- } else if (realDbName.equalsIgnoreCase(MysqlDb.DATABASE_NAME)) {
- realDbName = MysqlDb.DATABASE_NAME;
+ if (dbName.equalsIgnoreCase(InfoSchemaDb.DATABASE_NAME)) {
+ dbName = InfoSchemaDb.DATABASE_NAME;
+ } else if (dbName.equalsIgnoreCase(MysqlDb.DATABASE_NAME)) {
+ dbName = MysqlDb.DATABASE_NAME;
} else {
// Apply case-insensitive lookup for non-system databases
- String localDbName = getLocalDatabaseName(realDbName, false);
+ String localDbName = getLocalDatabaseName(dbName, false);
if (localDbName != null) {
- realDbName = localDbName;
+ dbName = localDbName;
}
}
// must use full qualified name to generate id.
// otherwise, if 2 catalogs have the same db name, the id will be the same.
- return metaCache.getMetaObj(realDbName, Util.genIdByName(name, realDbName)).orElse(null);
+ return metaCache.getMetaObj(dbName, Util.genIdByName(name, dbName)).orElse(null);
}
@Nullable
diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java
index 9b44833f01a..f9d450f5d8e 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java
@@ -18,7 +18,6 @@
package org.apache.doris.datasource;
import org.apache.doris.catalog.Type;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
import org.apache.doris.common.Pair;
import org.apache.doris.common.ThreadPoolManager;
@@ -255,7 +254,6 @@ public class ExternalMetaCacheMgr {
}
public void invalidateDbCache(long catalogId, String dbName) {
- dbName = ClusterNamespace.getNameFromFullName(dbName);
ExternalSchemaCache schemaCache = schemaCacheMgr.getCache(catalogId);
if (schemaCache != null) {
schemaCache.invalidateDbCache(dbName);
@@ -306,7 +304,7 @@ public class ExternalMetaCacheMgr {
}
public void addPartitionsCache(long catalogId, HMSExternalTable table, List<String> partitionNames) {
- String dbName = ClusterNamespace.getNameFromFullName(table.getDbName());
+ String dbName = table.getDbName();
HiveMetaStoreCache metaCache = hiveMetaStoreCacheMgr.getCache(catalogId);
if (metaCache != null) {
List<Type> partitionColumnTypes;
@@ -324,7 +322,7 @@ public class ExternalMetaCacheMgr {
}
public void dropPartitionsCache(long catalogId, HMSExternalTable table, List<String> partitionNames) {
- String dbName = ClusterNamespace.getNameFromFullName(table.getDbName());
+ String dbName = table.getDbName();
HiveMetaStoreCache metaCache = hiveMetaStoreCacheMgr.getCache(catalogId);
if (metaCache != null) {
metaCache.dropPartitionsCache(table, partitionNames, true);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
index 6a7a2950beb..5cc2918c67c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/InternalCatalog.java
@@ -88,7 +88,6 @@ import org.apache.doris.clone.DynamicPartitionScheduler;
import org.apache.doris.cloud.catalog.CloudEnv;
import org.apache.doris.cloud.transaction.CloudGlobalTransactionMgr;
import org.apache.doris.cluster.Cluster;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.Config;
import org.apache.doris.common.DdlException;
@@ -256,8 +255,6 @@ public class InternalCatalog implements CatalogIf<Database> {
if (StringUtils.isEmpty(dbName)) {
return null;
}
- // ATTN: this should be removed in v3.0
- dbName = ClusterNamespace.getNameFromFullName(dbName);
if (fullNameToDb.containsKey(dbName)) {
return fullNameToDb.get(dbName);
} else {
@@ -3132,7 +3129,7 @@ public class InternalCatalog implements CatalogIf<Database> {
db.writeLockOrDdlException();
try {
// db name not changed
- if (!db.getName().equals(ClusterNamespace.getNameFromFullName(createTableInfo.getDbName()))) {
+ if (!db.getName().equals(createTableInfo.getDbName())) {
throw new DdlException("Database name renamed, please check the database name");
}
// register table, write create table edit log
diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalCatalog.java
index fe86390b581..0784c593b26 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalCatalog.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalCatalog.java
@@ -18,7 +18,6 @@
package org.apache.doris.datasource.hive;
import org.apache.doris.catalog.Env;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.ThreadPoolManager;
import org.apache.doris.common.util.Util;
@@ -172,12 +171,12 @@ public class HMSExternalCatalog extends ExternalCatalog {
@Override
protected List<String> listTableNamesFromRemote(SessionContext ctx, String dbName) {
- return metadataOps.listTableNames(ClusterNamespace.getNameFromFullName(dbName));
+ return metadataOps.listTableNames(dbName);
}
@Override
public boolean tableExist(SessionContext ctx, String dbName, String tblName) {
- return metadataOps.tableExist(ClusterNamespace.getNameFromFullName(dbName), tblName);
+ return metadataOps.tableExist(dbName, tblName);
}
@Override
@@ -187,7 +186,7 @@ public class HMSExternalCatalog extends ExternalCatalog {
if (hmsExternalDatabase == null) {
return false;
}
- return hmsExternalDatabase.getTable(ClusterNamespace.getNameFromFullName(tblName)).isPresent();
+ return hmsExternalDatabase.getTable(tblName).isPresent();
}
public HMSCachedClient getClient() {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/BaseController.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/BaseController.java
index 0e17f6d23ae..4f62b2e89e1 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/BaseController.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/BaseController.java
@@ -21,7 +21,6 @@ import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.catalog.Env;
import org.apache.doris.cloud.proto.Cloud;
import org.apache.doris.cloud.system.CloudSystemInfoService;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AuthenticationException;
import org.apache.doris.common.Config;
import org.apache.doris.common.util.NetUtils;
@@ -301,10 +300,8 @@ public class BaseController {
int index = authString.indexOf(":");
authInfo.fullUserName = authString.substring(0, index);
final String[] elements = authInfo.fullUserName.split("@");
- if (elements != null && elements.length < 2) {
- authInfo.fullUserName = ClusterNamespace.getNameFromFullName(authInfo.fullUserName);
- } else if (elements != null && elements.length == 2) {
- authInfo.fullUserName = ClusterNamespace.getNameFromFullName(elements[0]);
+ if (elements != null && elements.length == 2) {
+ authInfo.fullUserName = elements[0];
}
authInfo.password = authString.substring(index + 1);
authInfo.remoteIp = request.getRemoteAddr();
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/CancelLoadAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/CancelLoadAction.java
index 4cc74e3b4d9..0b693e0e1cd 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/CancelLoadAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/CancelLoadAction.java
@@ -57,7 +57,7 @@ public class CancelLoadAction extends RestBaseController {
return ResponseEntityBuilder.badRequest("No database selected");
}
- String fullDbName = getFullDbName(dbName);
+ String fullDbName = dbName;
String label = request.getParameter(LABEL_KEY);
if (Strings.isNullOrEmpty(label)) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/CopyIntoAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/CopyIntoAction.java
index ea2c54e1976..ac062ad33fe 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/CopyIntoAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/CopyIntoAction.java
@@ -25,7 +25,6 @@ import org.apache.doris.cloud.proto.Cloud.StagePB;
import org.apache.doris.cloud.proto.Cloud.StagePB.StageType;
import org.apache.doris.cloud.storage.RemoteBase;
import org.apache.doris.cloud.storage.RemoteBase.ObjectInfo;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.DorisHttpException;
import org.apache.doris.datasource.InternalCatalog;
@@ -150,8 +149,7 @@ public class CopyIntoAction extends RestBaseController {
String host = request.getHeader("Host");
boolean isInternal = Strings.isNullOrEmpty(eh) ? internalEndpoint(host)
: eh.equals(internal) || (!eh.equals(external));
- String mysqlUserName = ClusterNamespace
- .getNameFromFullName(ConnectContext.get().getCurrentUserIdentity().getQualifiedUser());
+ String mysqlUserName = ConnectContext.get().getCurrentUserIdentity().getQualifiedUser();
String userId = Env.getCurrentEnv().getAuth().getUserId(mysqlUserName);
LOG.info("receive Presigned url request [ user [{}]] for filename [{}], isInternal [{}], userId [{}]",
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/GetDdlStmtAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/GetDdlStmtAction.java
index f06d31c93a5..07ab347d026 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/GetDdlStmtAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/GetDdlStmtAction.java
@@ -61,7 +61,7 @@ public class GetDdlStmtAction extends RestBaseController {
return ResponseEntityBuilder.badRequest("Missing params. Need database name and Table name");
}
- String fullDbName = getFullDbName(dbName);
+ String fullDbName = dbName;
Table table;
try {
Database db = Env.getCurrentInternalCatalog().getDbOrMetaException(fullDbName);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/GetStreamLoadState.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/GetStreamLoadState.java
index 42db523dec8..b9f037a0365 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/GetStreamLoadState.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/GetStreamLoadState.java
@@ -50,7 +50,7 @@ public class GetStreamLoadState extends RestBaseController {
return ResponseEntityBuilder.badRequest("No label selected");
}
- final String fullDbName = getFullDbName(dbName);
+ final String fullDbName = dbName;
Database db;
try {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/LoadAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/LoadAction.java
index 571a6dc50de..bcc917ad012 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/LoadAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/LoadAction.java
@@ -23,7 +23,6 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.Table;
import org.apache.doris.cloud.qe.ComputeGroupException;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.Config;
import org.apache.doris.common.DdlException;
@@ -199,9 +198,8 @@ public class LoadAction extends RestBaseController {
}
private boolean isGroupCommitBlock(String db, String table) throws TException {
- String fullDbName = getFullDbName(db);
Database dbObj = Env.getCurrentInternalCatalog()
- .getDbOrException(fullDbName, s -> new TException("database is invalid for dbName: " + s));
+ .getDbOrException(db, s -> new TException("database is invalid for dbName: " + s));
Table tblObj = dbObj.getTableOrException(table, s -> new TException("table is invalid: " + s));
return Env.getCurrentEnv().getGroupCommitManager().isBlock(tblObj.getId());
}
@@ -739,8 +737,7 @@ public class LoadAction extends RestBaseController {
if (!Strings.isNullOrEmpty(request.getHeader("Authorization"))) {
ActionAuthorizationInfo authInfo = getAuthorizationInfo(request);
- userInfo = ClusterNamespace.getNameFromFullName(authInfo.fullUserName)
- + ":" + authInfo.password;
+ userInfo = authInfo.fullUserName + ":" + authInfo.password;
}
try {
urlObj = new URI(urlStr);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/MetaInfoAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/MetaInfoAction.java
index 81216fe2007..0f4eb90d888 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/MetaInfoAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/MetaInfoAction.java
@@ -21,7 +21,6 @@ import org.apache.doris.catalog.Database;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.Table;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.FeConstants;
@@ -103,10 +102,9 @@ public class MetaInfoAction extends RestBaseController {
}
List<String> dbNames = catalog.getDbNames();
List<String> dbNameSet = Lists.newArrayList();
- for (String fullName : dbNames) {
- final String db = ClusterNamespace.getNameFromFullName(fullName);
+ for (String db : dbNames) {
if (!Env.getCurrentEnv().getAccessManager()
- .checkDbPriv(ConnectContext.get(), InternalCatalog.INTERNAL_CATALOG_NAME, fullName,
+ .checkDbPriv(ConnectContext.get(), InternalCatalog.INTERNAL_CATALOG_NAME, db,
PrivPredicate.SHOW)) {
continue;
}
@@ -144,10 +142,9 @@ public class MetaInfoAction extends RestBaseController {
return ResponseEntityBuilder.badRequest("Only support 'default_cluster' now");
}
- String fullDbName = getFullDbName(dbName);
Database db;
try {
- db = Env.getCurrentInternalCatalog().getDbOrMetaException(fullDbName);
+ db = Env.getCurrentInternalCatalog().getDbOrMetaException(dbName);
} catch (MetaNotFoundException e) {
return ResponseEntityBuilder.okWithCommonError(e.getMessage());
}
@@ -155,7 +152,7 @@ public class MetaInfoAction extends RestBaseController {
List<String> tblNames = Lists.newArrayList();
for (Table tbl : db.getTables()) {
if (!Env.getCurrentEnv().getAccessManager()
- .checkTblPriv(ConnectContext.get(), InternalCatalog.INTERNAL_CATALOG_NAME, fullDbName,
+ .checkTblPriv(ConnectContext.get(), InternalCatalog.INTERNAL_CATALOG_NAME, dbName,
tbl.getName(),
PrivPredicate.SHOW)) {
continue;
@@ -222,7 +219,7 @@ public class MetaInfoAction extends RestBaseController {
return ResponseEntityBuilder.badRequest("Only support 'default_cluster' now");
}
- String fullDbName = getFullDbName(dbName);
+ String fullDbName = dbName;
checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), fullDbName, tblName, PrivPredicate.SHOW);
String withMvPara = request.getParameter(PARAM_WITH_MV);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/RestBaseController.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/RestBaseController.java
index a350f1c5a58..4422ca83ede 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/RestBaseController.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/RestBaseController.java
@@ -19,7 +19,6 @@ package org.apache.doris.httpv2.rest;
import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.catalog.Env;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
import org.apache.doris.common.FeConstants;
import org.apache.doris.common.UserException;
@@ -98,8 +97,7 @@ public class RestBaseController extends BaseController {
String userInfo = null;
if (!Strings.isNullOrEmpty(request.getHeader("Authorization"))) {
ActionAuthorizationInfo authInfo = getAuthorizationInfo(request);
- userInfo = ClusterNamespace.getNameFromFullName(authInfo.fullUserName)
- + ":" + authInfo.password;
+ userInfo = authInfo.fullUserName + ":" + authInfo.password;
}
try {
urlObj = new URI(urlStr);
@@ -193,10 +191,6 @@ public class RestBaseController extends BaseController {
getFile(request, response, imageFile, imageFile.getName());
}
- public String getFullDbName(String dbName) {
- return ClusterNamespace.getNameFromFullName(dbName);
- }
-
public boolean needRedirect(String scheme) {
return Config.enable_https && "http".equalsIgnoreCase(scheme);
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/RowCountAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/RowCountAction.java
index 6ae3576f6b5..39a06d5a4d8 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/RowCountAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/RowCountAction.java
@@ -63,11 +63,10 @@ public class RowCountAction extends RestBaseController {
return ResponseEntityBuilder.badRequest("No table selected");
}
- String fullDbName = getFullDbName(dbName);
Map<String, Long> indexRowCountMap = Maps.newHashMap();
OlapTable olapTable;
try {
- Database db = Env.getCurrentInternalCatalog().getDbOrMetaException(fullDbName);
+ Database db = Env.getCurrentInternalCatalog().getDbOrMetaException(dbName);
olapTable = (OlapTable) db.getTableOrMetaException(tableName, Table.TableType.OLAP);
} catch (MetaNotFoundException e) {
return ResponseEntityBuilder.okWithCommonError(e.getMessage());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/ShowAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/ShowAction.java
index 1633e8514c0..b1001beb751 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/ShowAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/ShowAction.java
@@ -24,7 +24,6 @@ import org.apache.doris.catalog.MysqlCompatibleDatabase;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.Table;
import org.apache.doris.catalog.TableIf.TableType;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.Config;
import org.apache.doris.common.proc.ProcNodeInterface;
@@ -186,13 +185,12 @@ public class ShowAction extends RestBaseController {
String dbName = request.getParameter(DB_KEY);
long totalSize = 0;
if (dbName != null) {
- String fullDbName = getFullDbName(dbName);
- DatabaseIf db = Env.getCurrentInternalCatalog().getDbNullable(fullDbName);
+ DatabaseIf db = Env.getCurrentInternalCatalog().getDbNullable(dbName);
if (db == null) {
- return ResponseEntityBuilder.okWithCommonError("database " + fullDbName + " not found.");
+ return ResponseEntityBuilder.okWithCommonError("database " + dbName + " not found.");
}
totalSize = getDataSizeOfDatabase(db);
- oneEntry.put(fullDbName, totalSize);
+ oneEntry.put(dbName, totalSize);
} else {
for (long dbId : Env.getCurrentInternalCatalog().getDbIds()) {
DatabaseIf db = Env.getCurrentInternalCatalog().getDbNullable(dbId);
@@ -222,17 +220,16 @@ public class ShowAction extends RestBaseController {
boolean singleReplicaBool = Boolean.parseBoolean(singleReplica);
Map<String, Map<String, Long>> oneEntry = Maps.newHashMap();
if (dbName != null) {
- String fullDbName = getFullDbName(dbName);
if (!StringUtils.isEmpty(tableName) && Config.enable_all_http_auth) {
- checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), fullDbName, tableName, PrivPredicate.SHOW);
+ checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), dbName, tableName, PrivPredicate.SHOW);
}
- DatabaseIf db = Env.getCurrentInternalCatalog().getDbNullable(fullDbName);
+ DatabaseIf db = Env.getCurrentInternalCatalog().getDbNullable(dbName);
if (db == null) {
- return ResponseEntityBuilder.okWithCommonError("database " + fullDbName + " not found.");
+ return ResponseEntityBuilder.okWithCommonError("database " + dbName + " not found.");
}
Map<String, Long> tablesEntry = getDataSizeOfTables(db, tableName, singleReplicaBool);
- oneEntry.put(ClusterNamespace.getNameFromFullName(fullDbName), tablesEntry);
+ oneEntry.put(dbName, tablesEntry);
} else {
for (long dbId : Env.getCurrentInternalCatalog().getDbIds()) {
DatabaseIf db = Env.getCurrentInternalCatalog().getDbNullable(dbId);
@@ -246,7 +243,7 @@ public class ShowAction extends RestBaseController {
continue;
}
Map<String, Long> tablesEntry = getDataSizeOfTables(db, tableName, singleReplicaBool);
- oneEntry.put(ClusterNamespace.getNameFromFullName(db.getFullName()), tablesEntry);
+ oneEntry.put(db.getFullName(), tablesEntry);
}
}
return ResponseEntityBuilder.ok(oneEntry);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/StmtExecutionAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/StmtExecutionAction.java
index 6ec305b9845..6b58bf420b9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/StmtExecutionAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/StmtExecutionAction.java
@@ -91,9 +91,8 @@ public class StmtExecutionAction extends RestBaseController {
}
ActionAuthorizationInfo authInfo = checkWithCookie(request, response, false);
- String fullDbName = getFullDbName(dbName);
if (Config.enable_all_http_auth) {
- checkDbAuth(ConnectContext.get().getCurrentUserIdentity(), fullDbName, PrivPredicate.ADMIN);
+ checkDbAuth(ConnectContext.get().getCurrentUserIdentity(), dbName, PrivPredicate.ADMIN);
}
if (ns.equalsIgnoreCase(SystemInfoService.DEFAULT_CLUSTER)) {
@@ -111,7 +110,7 @@ public class StmtExecutionAction extends RestBaseController {
stmtRequestBody.limit);
ConnectContext.get().changeDefaultCatalog(ns);
- ConnectContext.get().setDatabase(fullDbName);
+ ConnectContext.get().setDatabase(dbName);
String streamHeader = request.getHeader("X-Doris-Stream");
boolean isStream = !("false".equalsIgnoreCase(streamHeader));
@@ -146,7 +145,7 @@ public class StmtExecutionAction extends RestBaseController {
}
LOG.info("sql: {}", sql);
ConnectContext.get().changeDefaultCatalog(ns);
- ConnectContext.get().setDatabase(getFullDbName(dbName));
+ ConnectContext.get().setDatabase(dbName);
return getSchema(sql);
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/StorageTypeCheckAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/StorageTypeCheckAction.java
index 349dc24c2d1..cba42aa471c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/StorageTypeCheckAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/StorageTypeCheckAction.java
@@ -52,10 +52,9 @@ public class StorageTypeCheckAction extends RestBaseController {
return ResponseEntityBuilder.badRequest("No database selected");
}
- String fullDbName = getFullDbName(dbName);
Database db;
try {
- db = Env.getCurrentInternalCatalog().getDbOrMetaException(fullDbName);
+ db = Env.getCurrentInternalCatalog().getDbOrMetaException(dbName);
} catch (MetaNotFoundException e) {
return ResponseEntityBuilder.okWithCommonError(e.getMessage());
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java
index 87d1eedaa95..8c734b26980 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java
@@ -23,7 +23,6 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.Table;
import org.apache.doris.catalog.TableIf;
import org.apache.doris.cloud.qe.ComputeGroupException;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
import org.apache.doris.common.DorisHttpException;
import org.apache.doris.common.MetaNotFoundException;
@@ -135,12 +134,11 @@ public class TableQueryPlanAction extends RestBaseController {
LOG.info("receive SQL statement [{}] from external service [ user [{}]] for database [{}] table [{}]",
sql, ConnectContext.get().getCurrentUserIdentity(), dbName, tblName);
- String fullDbName = getFullDbName(dbName);
// check privilege for select, otherwise return HTTP 401
- checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), fullDbName, tblName, PrivPredicate.SELECT);
+ checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), dbName, tblName, PrivPredicate.SELECT);
Table table;
try {
- Database db = Env.getCurrentInternalCatalog().getDbOrMetaException(fullDbName);
+ Database db = Env.getCurrentInternalCatalog().getDbOrMetaException(dbName);
table = db.getTableOrMetaException(tblName, TableIf.TableType.OLAP);
} catch (MetaNotFoundException e) {
return ResponseEntityBuilder.okWithCommonError(e.getMessage());
@@ -157,7 +155,7 @@ public class TableQueryPlanAction extends RestBaseController {
ConnectContext.get().getCloudCluster();
}
// parse/analysis/plan the sql and acquire tablet distributions
- handleQuery(ConnectContext.get(), fullDbName, tblName, sql, resultMap);
+ handleQuery(ConnectContext.get(), dbName, tblName, sql, resultMap);
} finally {
table.readUnlock();
}
@@ -358,10 +356,10 @@ public class TableQueryPlanAction extends RestBaseController {
.setQueryId(DebugUtil.printId(ctx.queryId()))
.setTimestamp(ctx.getStartTime())
.setClientIp(ctx.getClientIP())
- .setUser(ClusterNamespace.getNameFromFullName(ctx.getQualifiedUser()))
+ .setUser(ctx.getQualifiedUser())
.setFeIp(FrontendOptions.getLocalHostAddress())
.setCtl(catalog == null ? InternalCatalog.INTERNAL_CATALOG_NAME : catalog.getName())
- .setDb(ClusterNamespace.getNameFromFullName(ctx.getDatabase()))
+ .setDb(ctx.getDatabase())
.setState(ctx.getState().toString())
.setErrorCode(ctx.getState().getErrorCode() == null ? 0 : ctx.getState().getErrorCode().getCode())
.setErrorMessage((ctx.getState().getErrorMessage() == null ? "" :
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableRowCountAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableRowCountAction.java
index f753c872b62..69a0210ceba 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableRowCountAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableRowCountAction.java
@@ -57,12 +57,11 @@ public class TableRowCountAction extends RestBaseController {
// just allocate 2 slot for top holder map
Map<String, Object> resultMap = new HashMap<>(4);
try {
- String fullDbName = getFullDbName(dbName);
// check privilege for select, otherwise return HTTP 401
- checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), fullDbName, tblName, PrivPredicate.SELECT);
+ checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), dbName, tblName, PrivPredicate.SELECT);
OlapTable olapTable;
try {
- Database db = Env.getCurrentInternalCatalog().getDbOrMetaException(fullDbName);
+ Database db = Env.getCurrentInternalCatalog().getDbOrMetaException(dbName);
olapTable = (OlapTable) db.getTableOrMetaException(tblName, Table.TableType.OLAP);
} catch (MetaNotFoundException e) {
return ResponseEntityBuilder.okWithCommonError(e.getMessage());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableSchemaAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableSchemaAction.java
index a3d766f1c6f..fc486d43c5d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableSchemaAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableSchemaAction.java
@@ -111,15 +111,14 @@ public class TableSchemaAction extends RestBaseController {
}
try {
- String fullDbName = getFullDbName(dbName);
// check privilege for select, otherwise return 401 HTTP status
- checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), catalogName, fullDbName, tblName,
+ checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), catalogName, dbName, tblName,
PrivPredicate.SELECT);
TableIf table;
try {
CatalogIf catalog = StringUtils.isNotBlank(catalogName) ? Env.getCurrentEnv().getCatalogMgr()
.getCatalogOrAnalysisException(catalogName) : Env.getCurrentInternalCatalog();
- DatabaseIf db = catalog.getDbOrMetaException(fullDbName);
+ DatabaseIf db = catalog.getDbOrMetaException(dbName);
table = db.getTableOrMetaException(tblName);
} catch (MetaNotFoundException | AnalysisException e) {
return ResponseEntityBuilder.okWithCommonError(e.getMessage());
@@ -207,10 +206,9 @@ public class TableSchemaAction extends RestBaseController {
@PathVariable(value = TABLE_KEY) String tableName,
HttpServletRequest request, HttpServletResponse response, @RequestBody String body) {
executeCheckPassword(request, response);
- String fullDbName = getFullDbName(dbName);
OlapTable table;
try {
- Database db = Env.getCurrentInternalCatalog().getDbOrMetaException(fullDbName);
+ Database db = Env.getCurrentInternalCatalog().getDbOrMetaException(dbName);
table = (OlapTable) db.getTableOrMetaException(tableName, Table.TableType.OLAP);
} catch (MetaNotFoundException e) {
return ResponseEntityBuilder.okWithCommonError(e.getMessage());
@@ -259,14 +257,13 @@ public class TableSchemaAction extends RestBaseController {
}
try {
- String fullDbName = getFullDbName(dbName);
- checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), catalogName, fullDbName, tblName,
+ checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), catalogName, dbName, tblName,
PrivPredicate.SELECT);
TableIf table;
try {
CatalogIf catalog = StringUtils.isNotBlank(catalogName) ? Env.getCurrentEnv().getCatalogMgr()
.getCatalogOrAnalysisException(catalogName) : Env.getCurrentInternalCatalog();
- DatabaseIf db = catalog.getDbOrMetaException(fullDbName);
+ DatabaseIf db = catalog.getDbOrMetaException(dbName);
table = db.getTableOrMetaException(tblName);
} catch (MetaNotFoundException | AnalysisException e) {
return ResponseEntityBuilder.okWithCommonError(e.getMessage());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/UploadAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/UploadAction.java
index 941f1a6dcd6..fa00e4a5ab3 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/UploadAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/UploadAction.java
@@ -85,8 +85,7 @@ public class UploadAction extends RestBaseController {
return ResponseEntityBuilder.badRequest("Only support 'default_cluster' now");
}
- String fullDbName = getFullDbName(dbName);
- checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), fullDbName, tblName, PrivPredicate.LOAD);
+ checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), dbName, tblName, PrivPredicate.LOAD);
String columnSeparator = request.getParameter(PARAM_COLUMN_SEPARATOR);
if (Strings.isNullOrEmpty(columnSeparator)) {
@@ -142,8 +141,7 @@ public class UploadAction extends RestBaseController {
return ResponseEntityBuilder.badRequest("Only support 'default_cluster' now");
}
- String fullDbName = getFullDbName(dbName);
- checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), fullDbName, tblName, PrivPredicate.LOAD);
+ checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), dbName, tblName, PrivPredicate.LOAD);
String fileIdStr = request.getParameter(PARAM_FILE_ID);
if (Strings.isNullOrEmpty(fileIdStr)) {
@@ -198,8 +196,7 @@ public class UploadAction extends RestBaseController {
return ResponseEntityBuilder.badRequest("Only support 'default_cluster' now");
}
- String fullDbName = getFullDbName(dbName);
- checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), fullDbName, tblName, PrivPredicate.LOAD);
+ checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), dbName, tblName, PrivPredicate.LOAD);
String fileIdStr = request.getParameter(PARAM_FILE_ID);
String fileUUIDStr = request.getParameter(PARAM_FILE_UUID);
@@ -242,8 +239,7 @@ public class UploadAction extends RestBaseController {
return ResponseEntityBuilder.badRequest("Only support 'default_cluster' now");
}
- String fullDbName = getFullDbName(dbName);
- checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), fullDbName, tblName, PrivPredicate.LOAD);
+ checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), dbName, tblName, PrivPredicate.LOAD);
String fileIdStr = request.getParameter(PARAM_FILE_ID);
if (Strings.isNullOrEmpty(fileIdStr)) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/restv2/MetaInfoActionV2.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/restv2/MetaInfoActionV2.java
index 04e523c288f..c260e7b64de 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/restv2/MetaInfoActionV2.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/restv2/MetaInfoActionV2.java
@@ -23,7 +23,6 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.Table;
import org.apache.doris.catalog.TableIf;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.FeConstants;
import org.apache.doris.common.MetaNotFoundException;
import org.apache.doris.common.Pair;
@@ -130,7 +129,7 @@ public class MetaInfoActionV2 extends RestBaseController {
List<String> dbNames = catalog.getDbNames();
List<String> filteredDbNames = Lists.newArrayList();
for (String fullName : dbNames) {
- final String db = ClusterNamespace.getNameFromFullName(fullName);
+ final String db = fullName;
if (!Env.getCurrentEnv().getAccessManager()
.checkDbPriv(ConnectContext.get(), InternalCatalog.INTERNAL_CATALOG_NAME, fullName,
PrivPredicate.SHOW)) {
@@ -171,10 +170,9 @@ public class MetaInfoActionV2 extends RestBaseController {
return ResponseEntityBuilder.badRequest("Catalog '" + catalogName + "' not found");
}
- String fullDbName = getFullDbName(dbName);
DatabaseIf<TableIf> db;
try {
- db = catalog.getDbOrMetaException(fullDbName);
+ db = catalog.getDbOrMetaException(dbName);
} catch (MetaNotFoundException e) {
return ResponseEntityBuilder.okWithCommonError(e.getMessage());
}
@@ -184,7 +182,7 @@ public class MetaInfoActionV2 extends RestBaseController {
try {
for (TableIf tbl : db.getTables()) {
if (!Env.getCurrentEnv().getAccessManager()
- .checkTblPriv(ConnectContext.get(), InternalCatalog.INTERNAL_CATALOG_NAME, fullDbName,
+ .checkTblPriv(ConnectContext.get(), InternalCatalog.INTERNAL_CATALOG_NAME, dbName,
tbl.getName(), PrivPredicate.SHOW)) {
continue;
}
@@ -244,14 +242,13 @@ public class MetaInfoActionV2 extends RestBaseController {
return ResponseEntityBuilder.badRequest("Catalog '" + catalogName + "' not found");
}
- String fullDbName = getFullDbName(dbName);
- checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), catalogName, fullDbName,
+ checkTblAuth(ConnectContext.get().getCurrentUserIdentity(), catalogName, dbName,
tblName, PrivPredicate.SHOW);
String withMvPara = request.getParameter(PARAM_WITH_MV);
boolean withMv = !Strings.isNullOrEmpty(withMvPara) && withMvPara.equals("1");
try {
- DatabaseIf db = catalog.getDbOrMetaException(fullDbName);
+ DatabaseIf db = catalog.getDbOrMetaException(dbName);
db.readLock();
try {
TableIf tbl = db.getTableOrMetaException(tblName, Table.TableType.OLAP);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/util/LoadSubmitter.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/util/LoadSubmitter.java
index fc5f85743bd..0305199d9fe 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/util/LoadSubmitter.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/util/LoadSubmitter.java
@@ -18,7 +18,6 @@
package org.apache.doris.httpv2.util;
import org.apache.doris.catalog.Env;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
import org.apache.doris.common.LoadException;
import org.apache.doris.common.ThreadPoolManager;
@@ -91,7 +90,7 @@ public class LoadSubmitter {
URL loadUrl = new URL(loadUrlStr);
HttpURLConnection conn = (HttpURLConnection) loadUrl.openConnection();
conn.setRequestMethod("PUT");
- String auth = String.format("%s:%s", ClusterNamespace.getNameFromFullName(loadContext.user),
+ String auth = String.format("%s:%s", loadContext.user,
loadContext.passwd);
String authEncoding = Base64.getEncoder().encodeToString(auth.getBytes(StandardCharsets.UTF_8));
conn.setRequestProperty("Authorization", "Basic " + authEncoding);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadHandler.java b/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadHandler.java
index 6c0648c6022..eba74ac0b4b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadHandler.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadHandler.java
@@ -25,7 +25,6 @@ import org.apache.doris.catalog.Table;
import org.apache.doris.catalog.TableIf.TableType;
import org.apache.doris.cloud.catalog.CloudEnv;
import org.apache.doris.cloud.system.CloudSystemInfoService;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.AuthenticationException;
import org.apache.doris.common.Config;
@@ -127,7 +126,7 @@ public class StreamLoadHandler {
}
ctx.setRemoteIP(request.isSetAuthCode() ? clientAddr : request.getUserIp());
- String userName = ClusterNamespace.getNameFromFullName(request.getUser());
+ String userName = request.getUser();
if (!request.isSetToken() && !request.isSetAuthCode() && !Strings.isNullOrEmpty(userName)) {
List<UserIdentity> currentUser = Lists.newArrayList();
try {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/MysqlLoadManager.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/MysqlLoadManager.java
index 12f000b7b16..0442cecf167 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/MysqlLoadManager.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/MysqlLoadManager.java
@@ -25,7 +25,6 @@ import org.apache.doris.analysis.StringLiteral;
import org.apache.doris.analysis.ToSqlParams;
import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.catalog.Env;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
import org.apache.doris.common.CustomThreadFactory;
import org.apache.doris.common.LoadException;
@@ -172,7 +171,7 @@ public class MysqlLoadManager {
throws IOException, UserException {
LoadJobRowResult loadResult = new LoadJobRowResult();
List<String> filePaths = dataDesc.getFilePaths();
- String database = ClusterNamespace.getNameFromFullName(dataDesc.getDbName());
+ String database = dataDesc.getDbName();
String table = dataDesc.getTableName();
int oldTimeout = context.getExecTimeoutS();
int newTimeOut = extractTimeOut(dataDesc);
@@ -239,7 +238,7 @@ public class MysqlLoadManager {
String loadId) throws IOException, UserException {
LoadJobRowResult loadResult = new LoadJobRowResult();
List<String> filePaths = dataDesc.getFilePaths();
- String database = ClusterNamespace.getNameFromFullName(dataDesc.getDbName());
+ String database = dataDesc.getDbName();
String table = dataDesc.getTableName();
int oldTimeout = context.getExecTimeoutS();
int newTimeOut = extractTimeOut(dataDesc);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapAuthenticator.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapAuthenticator.java
index cd9cef469d2..d9e27e4a9fb 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapAuthenticator.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapAuthenticator.java
@@ -19,7 +19,6 @@ package org.apache.doris.mysql.authenticate.ldap;
import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.catalog.Env;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
import org.apache.doris.mysql.authenticate.AuthenticateRequest;
@@ -91,7 +90,7 @@ public class LdapAuthenticator implements Authenticator {
*/
private AuthenticateResponse internalAuthenticate(String password, String qualifiedUser, String remoteIp) {
String usePasswd = (Strings.isNullOrEmpty(password)) ? "NO" : "YES";
- String userName = ClusterNamespace.getNameFromFullName(qualifiedUser);
+ String userName = qualifiedUser;
if (LOG.isDebugEnabled()) {
LOG.debug("user:{}", userName);
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapManager.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapManager.java
index 5f6003cd6c1..cf5adeb670f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapManager.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/authenticate/ldap/LdapManager.java
@@ -21,7 +21,6 @@ import org.apache.doris.analysis.TablePattern;
import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.InfoSchemaDb;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.LdapConfig;
@@ -102,7 +101,7 @@ public class LdapManager {
}
public boolean checkUserPasswd(String fullName, String passwd) {
- String userName = ClusterNamespace.getNameFromFullName(fullName);
+ String userName = fullName;
if (AuthenticateType.getAuthTypeConfig() != AuthenticateType.LDAP || Strings.isNullOrEmpty(userName)
|| Objects.isNull(passwd)) {
return false;
@@ -143,7 +142,7 @@ public class LdapManager {
}
private LdapUserInfo getUserInfoAndUpdateCache(String fulName) throws DdlException {
- String userName = ClusterNamespace.getNameFromFullName(fulName);
+ String userName = fulName;
if (Strings.isNullOrEmpty(userName)) {
return null;
} else if (!ldapClient.doesUserExist(userName)) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Auth.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Auth.java
index bf1dc7b1963..371d4b7c2f7 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Auth.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/Auth.java
@@ -30,7 +30,6 @@ import org.apache.doris.catalog.InfoSchemaDb;
import org.apache.doris.catalog.TableIf;
import org.apache.doris.cloud.datasource.CloudInternalCatalog;
import org.apache.doris.cloud.proto.Cloud;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.AuthenticationException;
import org.apache.doris.common.AuthorizationException;
@@ -565,7 +564,7 @@ public class Auth implements Writable {
private void dropUserInternal(UserIdentity userIdent, boolean ignoreIfNonExists, boolean isReplay)
throws DdlException {
writeLock();
- String mysqlUserName = ClusterNamespace.getNameFromFullName(userIdent.getUser());
+ String mysqlUserName = userIdent.getUser();
String toDropMysqlUserId;
try {
// check if user exists
@@ -1718,7 +1717,7 @@ public class Auth implements Writable {
}
for (PrivEntry entry : tablePrivTable.getEntries()) {
TablePrivEntry tablePrivEntry = (TablePrivEntry) entry;
- String dbName = ClusterNamespace.getNameFromFullName(tablePrivEntry.getOrigDb());
+ String dbName = tablePrivEntry.getOrigDb();
String tblName = tablePrivEntry.getOrigTbl();
// Don't show privileges in information_schema
if (InfoSchemaDb.DATABASE_NAME.equals(dbName)
@@ -1728,8 +1727,7 @@ public class Auth implements Writable {
}
String grantee = new String("\'")
- .concat(ClusterNamespace
- .getNameFromFullName(user.getUserIdentity().getQualifiedUser()))
+ .concat(user.getUserIdentity().getQualifiedUser())
.concat("\'@\'").concat(user.getUserIdentity().getHost()).concat("\'");
String isGrantable = tablePrivEntry.getPrivSet().get(2) ? "YES" : "NO"; // GRANT_PRIV
for (Privilege priv : tablePrivEntry.getPrivSet().toPrivilegeList()) {
@@ -1770,7 +1768,7 @@ public class Auth implements Writable {
for (PrivEntry entry : dbPrivTable.getEntries()) {
DbPrivEntry dbPrivEntry = (DbPrivEntry) entry;
String origDb = dbPrivEntry.getOrigDb();
- String dbName = ClusterNamespace.getNameFromFullName(dbPrivEntry.getOrigDb());
+ String dbName = dbPrivEntry.getOrigDb();
// Don't show privileges in information_schema
if (InfoSchemaDb.DATABASE_NAME.equals(dbName)
|| !checkDbPriv(currentUser, InternalCatalog.INTERNAL_CATALOG_NAME, origDb,
@@ -1779,8 +1777,7 @@ public class Auth implements Writable {
}
String grantee = new String("\'")
- .concat(ClusterNamespace
- .getNameFromFullName(user.getUserIdentity().getQualifiedUser()))
+ .concat(user.getUserIdentity().getQualifiedUser())
.concat("\'@\'").concat(user.getUserIdentity().getHost()).concat("\'");
String isGrantable = dbPrivEntry.getPrivSet().get(2) ? "YES" : "NO"; // GRANT_PRIV
for (Privilege priv : dbPrivEntry.getPrivSet().toPrivilegeList()) {
@@ -1825,7 +1822,7 @@ public class Auth implements Writable {
continue;
}
String grantee = new String("\'")
- .concat(ClusterNamespace.getNameFromFullName(user.getUserIdentity().getQualifiedUser()))
+ .concat(user.getUserIdentity().getQualifiedUser())
.concat("\'@\'").concat(user.getUserIdentity().getHost()).concat("\'");
String isGrantable = privEntry.getPrivSet().get(2) ? "YES" : "NO"; // GRANT_PRIV
for (Privilege globalPriv : privEntry.getPrivSet().toPrivilegeList()) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/ColPrivilegeKey.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/ColPrivilegeKey.java
index 9d4b791cb05..5d38bff8171 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/ColPrivilegeKey.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/ColPrivilegeKey.java
@@ -17,8 +17,6 @@
package org.apache.doris.mysql.privilege;
-import org.apache.doris.cluster.ClusterNamespace;
-
import com.google.common.base.Objects;
import com.google.gson.annotations.SerializedName;
@@ -35,9 +33,9 @@ public class ColPrivilegeKey {
public ColPrivilegeKey(Privilege privilege, String ctl, String db, String tbl) {
this.privilegeIdx = privilege.getIdx();
- this.ctl = ClusterNamespace.getNameFromFullName(ctl);
- this.db = ClusterNamespace.getNameFromFullName(db);
- this.tbl = ClusterNamespace.getNameFromFullName(tbl);
+ this.ctl = ctl;
+ this.db = db;
+ this.tbl = tbl;
}
public Privilege getPrivilege() {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/DbPrivEntry.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/DbPrivEntry.java
index d799f99c51a..2488579fc03 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/DbPrivEntry.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/DbPrivEntry.java
@@ -18,7 +18,6 @@
package org.apache.doris.mysql.privilege;
import org.apache.doris.catalog.InfoSchemaDb;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.CaseSensibility;
import org.apache.doris.common.PatternMatcher;
@@ -63,7 +62,7 @@ public class DbPrivEntry extends CatalogPrivEntry {
private static PatternMatcher createDbPatternMatcher(String db) throws AnalysisException {
// the database 'information_schema''s name is case insensibility.
boolean dbCaseSensibility = CaseSensibility.DATABASE.getCaseSensibility();
- if (ClusterNamespace.getNameFromFullName(db).equalsIgnoreCase(InfoSchemaDb.DATABASE_NAME)) {
+ if (db.equalsIgnoreCase(InfoSchemaDb.DATABASE_NAME)) {
dbCaseSensibility = false;
}
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 c286852165b..36ea09ff11e 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
@@ -24,7 +24,6 @@ import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.analysis.WorkloadGroupPattern;
import org.apache.doris.catalog.Env;
import org.apache.doris.cloud.system.CloudSystemInfoService;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.Config;
import org.apache.doris.common.DdlException;
@@ -380,7 +379,6 @@ public class Role implements GsonPostProcessable {
}
private boolean checkAnyColPrivWithinCtl(String ctl) {
- ctl = ClusterNamespace.getNameFromFullName(ctl);
for (ColPrivilegeKey colPrivilegeKey : colPrivMap.keySet()) {
if (colPrivilegeKey.getCtl().equals(ctl)) {
return true;
@@ -390,8 +388,6 @@ public class Role implements GsonPostProcessable {
}
private boolean checkAnyColPrivWithinDb(String ctl, String db) {
- ctl = ClusterNamespace.getNameFromFullName(ctl);
- db = ClusterNamespace.getNameFromFullName(db);
for (ColPrivilegeKey colPrivilegeKey : colPrivMap.keySet()) {
if (colPrivilegeKey.getCtl().equals(ctl) && colPrivilegeKey.getDb().equals(db)) {
return true;
@@ -401,9 +397,6 @@ public class Role implements GsonPostProcessable {
}
private boolean checkAnyColPrivWithinTbl(String ctl, String db, String tbl) {
- ctl = ClusterNamespace.getNameFromFullName(ctl);
- db = ClusterNamespace.getNameFromFullName(db);
- tbl = ClusterNamespace.getNameFromFullName(tbl);
for (ColPrivilegeKey colPrivilegeKey : colPrivMap.keySet()) {
if (colPrivilegeKey.getCtl().equals(ctl) && colPrivilegeKey.getDb().equals(db) && colPrivilegeKey
.getTbl().equals(tbl)) {
@@ -1030,14 +1023,8 @@ public class Role implements GsonPostProcessable {
return sb.toString();
}
- // should be removed after version 3.0
- private void removeClusterPrefix() {
- roleName = ClusterNamespace.getNameFromFullName(roleName);
- }
-
@Override
public void gsonPostProcess() {
- removeClusterPrefix();
compatibilityErrEnum();
rebuildPrivTables();
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/RoleManager.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/RoleManager.java
index 2da93c298e3..8e228dca3ed 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/RoleManager.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/RoleManager.java
@@ -24,14 +24,12 @@ import org.apache.doris.analysis.WorkloadGroupPattern;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.InfoSchemaDb;
import org.apache.doris.catalog.MysqlDb;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.FeConstants;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
import org.apache.doris.mysql.privilege.Auth.PrivLevel;
-import org.apache.doris.persist.gson.GsonPostProcessable;
import org.apache.doris.persist.gson.GsonUtils;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.resource.workloadgroup.WorkloadGroupMgr;
@@ -57,7 +55,7 @@ import java.util.concurrent.ConcurrentMap;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-public class RoleManager implements Writable, GsonPostProcessable {
+public class RoleManager implements Writable {
private static final Logger LOG = LogManager.getLogger(RoleManager.class);
//prefix of each user default role
public static String DEFAULT_ROLE_PREFIX = "default_role_rbac_";
@@ -153,7 +151,7 @@ public class RoleManager implements Writable, GsonPostProcessable {
public void getRoleInfo(List<List<String>> results) {
for (Role role : roles.values()) {
- if (ClusterNamespace.getNameFromFullName(role.getRoleName()).startsWith(DEFAULT_ROLE_PREFIX)) {
+ if (role.getRoleName().startsWith(DEFAULT_ROLE_PREFIX)) {
if (ConnectContext.get() == null || !ConnectContext.get().getSessionVariable().showUserDefaultRole) {
continue;
}
@@ -216,7 +214,7 @@ public class RoleManager implements Writable, GsonPostProcessable {
public void getRoleWorkloadGroupPrivs(List<List<String>> result, Set<String> limitedRole) {
for (Role role : roles.values()) {
- if (ClusterNamespace.getNameFromFullName(role.getRoleName()).startsWith(DEFAULT_ROLE_PREFIX)) {
+ if (role.getRoleName().startsWith(DEFAULT_ROLE_PREFIX)) {
continue;
}
@@ -311,19 +309,4 @@ public class RoleManager implements Writable, GsonPostProcessable {
String json = Text.readString(in);
return GsonUtils.GSON.fromJson(json, RoleManager.class);
}
-
- // should be removed after version 3.0
- private void removeClusterPrefix() {
- ConcurrentMap<String, Role> newRoles = Maps.newConcurrentMap();
- for (Map.Entry<String, Role> entry : roles.entrySet()) {
- String roleName = ClusterNamespace.getNameFromFullName(entry.getKey());
- newRoles.put(roleName, entry.getValue());
- }
- roles = newRoles;
- }
-
- @Override
- public void gsonPostProcess() throws IOException {
- removeClusterPrefix();
- }
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserManager.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserManager.java
index a059101d665..da689172c89 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserManager.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserManager.java
@@ -19,7 +19,6 @@ package org.apache.doris.mysql.privilege;
import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.catalog.Env;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AuthenticationException;
import org.apache.doris.common.CaseSensibility;
import org.apache.doris.common.DdlException;
@@ -30,7 +29,6 @@ import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
import org.apache.doris.common.lock.MonitoredReentrantReadWriteLock;
import org.apache.doris.mysql.MysqlPassword;
-import org.apache.doris.persist.gson.GsonPostProcessable;
import org.apache.doris.persist.gson.GsonUtils;
import com.google.common.base.Preconditions;
@@ -56,7 +54,7 @@ import java.util.Map.Entry;
import java.util.Set;
import java.util.concurrent.locks.Lock;
-public class UserManager implements Writable, GsonPostProcessable {
+public class UserManager implements Writable {
public static final String ANY_HOST = "%";
private static final Logger LOG = LogManager.getLogger(UserManager.class);
@@ -413,26 +411,6 @@ public class UserManager implements Writable, GsonPostProcessable {
return um;
}
- // should be removed after version 3.0
- private void removeClusterPrefix() {
- Map<String, List<User>> newNameToUsers = Maps.newHashMap();
- wlock.lock();
- try {
- for (Entry<String, List<User>> entry : nameToUsers.entrySet()) {
- String user = entry.getKey();
- newNameToUsers.put(ClusterNamespace.getNameFromFullName(user), entry.getValue());
- }
- this.nameToUsers = newNameToUsers;
- } finally {
- wlock.unlock();
- }
- }
-
- @Override
- public void gsonPostProcess() throws IOException {
- removeClusterPrefix();
- }
-
// ====== CLOUD ======
public Set<String> getAllUsers() {
rlock.lock();
diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserPropertyInfo.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserPropertyInfo.java
index 0b19f17026a..4b5d50bbb1f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserPropertyInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserPropertyInfo.java
@@ -17,11 +17,9 @@
package org.apache.doris.mysql.privilege;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Pair;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
-import org.apache.doris.persist.gson.GsonPostProcessable;
import org.apache.doris.persist.gson.GsonUtils;
import com.google.common.collect.Lists;
@@ -32,7 +30,7 @@ import java.io.DataOutput;
import java.io.IOException;
import java.util.List;
-public class UserPropertyInfo implements Writable, GsonPostProcessable {
+public class UserPropertyInfo implements Writable {
@SerializedName("u")
private String user;
@@ -60,11 +58,6 @@ public class UserPropertyInfo implements Writable, GsonPostProcessable {
return GsonUtils.GSON.fromJson(Text.readString(in), UserPropertyInfo.class);
}
- @Override
- public void gsonPostProcess() throws IOException {
- user = ClusterNamespace.getNameFromFullName(user);
- }
-
@Override
public void write(DataOutput out) throws IOException {
Text.writeString(out, GsonUtils.GSON.toJson(this));
diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserPropertyMgr.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserPropertyMgr.java
index e068182308e..0a513ecc499 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserPropertyMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserPropertyMgr.java
@@ -19,7 +19,6 @@ package org.apache.doris.mysql.privilege;
import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.catalog.Env;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.Config;
import org.apache.doris.common.DdlException;
@@ -144,7 +143,7 @@ public class UserPropertyMgr implements Writable {
return;
}
if (clusterName.equals(userProperty.getDefaultCloudCluster())) {
- ret.add(ClusterNamespace.getNameFromFullName(u));
+ ret.add(u);
}
}
);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserRoleManager.java b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserRoleManager.java
index 348b10257a4..663e3868d08 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserRoleManager.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/UserRoleManager.java
@@ -18,7 +18,6 @@
package org.apache.doris.mysql.privilege;
import org.apache.doris.analysis.UserIdentity;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
import org.apache.doris.persist.gson.GsonPostProcessable;
@@ -135,7 +134,7 @@ public class UserRoleManager implements Writable, GsonPostProcessable {
return rolesByUser;
} else {
return rolesByUser.stream().filter(role ->
- !ClusterNamespace.getNameFromFullName(role).startsWith(RoleManager.DEFAULT_ROLE_PREFIX)).collect(
+ !role.startsWith(RoleManager.DEFAULT_ROLE_PREFIX)).collect(
Collectors.toSet());
}
}
@@ -160,21 +159,8 @@ public class UserRoleManager implements Writable, GsonPostProcessable {
return GsonUtils.GSON.fromJson(json, UserRoleManager.class);
}
- private void removeClusterPrefix() {
- Map<UserIdentity, Set<String>> newUserToRoles = Maps.newHashMap();
- for (Entry<UserIdentity, Set<String>> entry : userToRoles.entrySet()) {
- Set<String> newRoles = Sets.newHashSet();
- for (String role : entry.getValue()) {
- newRoles.add(ClusterNamespace.getNameFromFullName(role));
- }
- newUserToRoles.put(entry.getKey(), newRoles);
- }
- userToRoles = newUserToRoles;
- }
-
@Override
public void gsonPostProcess() throws IOException {
- removeClusterPrefix();
roleToUsers = Maps.newHashMap();
for (Entry<UserIdentity, Set<String>> entry : userToRoles.entrySet()) {
for (String roleName : entry.getValue()) {
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/load/NereidsDataDescription.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/load/NereidsDataDescription.java
index d1cc967a8da..3350ed735b9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/load/NereidsDataDescription.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/load/NereidsDataDescription.java
@@ -30,7 +30,6 @@ import org.apache.doris.catalog.FunctionSet;
import org.apache.doris.catalog.KeysType;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.info.PartitionNamesInfo;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
@@ -1101,7 +1100,7 @@ public class NereidsDataDescription {
sb.append(" NEGATIVE");
}
sb.append(" INTO TABLE ");
- sb.append(isMysqlLoad ? ClusterNamespace.getNameFromFullName(dbName) + "." + tableName : tableName);
+ sb.append(isMysqlLoad ? dbName + "." + tableName : tableName);
if (partitionNamesInfo != null) {
sb.append(" ");
sb.append(partitionNamesInfo.toSql());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/UserAuthentication.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/UserAuthentication.java
index b695254ca83..ccba89fece9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/UserAuthentication.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/UserAuthentication.java
@@ -22,7 +22,6 @@ import org.apache.doris.catalog.DatabaseIf;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.InfoSchemaDb;
import org.apache.doris.catalog.TableIf;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
@@ -64,7 +63,7 @@ public class UserAuthentication {
if (db == null) {
return;
}
- String dbName = ClusterNamespace.getNameFromFullName(db.getFullName());
+ String dbName = db.getFullName();
// Special handling: cluster snapshot related tables in information_schema
// require privilege based on configuration
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializationContext.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializationContext.java
index 2ab84c2108b..56e6e4b88bf 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializationContext.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/mv/MaterializationContext.java
@@ -20,7 +20,6 @@ package org.apache.doris.nereids.rules.exploration.mv;
import org.apache.doris.analysis.StatementBase;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.Table;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Id;
import org.apache.doris.common.Pair;
import org.apache.doris.nereids.CascadesContext;
@@ -224,10 +223,10 @@ public abstract class MaterializationContext {
public static List<String> generateMaterializationIdentifier(OlapTable olapTable, String indexName) {
return indexName == null
? ImmutableList.of(olapTable.getDatabase().getCatalog().getName(),
- ClusterNamespace.getNameFromFullName(olapTable.getDatabase().getFullName()),
+ olapTable.getDatabase().getFullName(),
olapTable.getName())
: ImmutableList.of(olapTable.getDatabase().getCatalog().getName(),
- ClusterNamespace.getNameFromFullName(olapTable.getDatabase().getFullName()),
+ olapTable.getDatabase().getFullName(),
olapTable.getName(), indexName);
}
@@ -237,10 +236,10 @@ public abstract class MaterializationContext {
public static List<String> generateMaterializationIdentifierByIndexId(OlapTable olapTable, Long indexId) {
return indexId == null
? ImmutableList.of(olapTable.getDatabase().getCatalog().getName(),
- ClusterNamespace.getNameFromFullName(olapTable.getDatabase().getFullName()),
+ olapTable.getDatabase().getFullName(),
olapTable.getName())
: ImmutableList.of(olapTable.getDatabase().getCatalog().getName(),
- ClusterNamespace.getNameFromFullName(olapTable.getDatabase().getFullName()),
+ olapTable.getDatabase().getFullName(),
olapTable.getName(), olapTable.getIndexNameById(indexId));
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java
index 14ba60b9d64..5338bf7df9b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java
@@ -19,7 +19,6 @@ package org.apache.doris.nereids.rules.expression.rules;
import org.apache.doris.catalog.EncryptKey;
import org.apache.doris.catalog.Env;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.util.DebugUtil;
import org.apache.doris.datasource.InternalCatalog;
@@ -358,7 +357,7 @@ public class FoldConstantRuleOnFE extends AbstractExpressionRewriteRule
@Override
public Expression visitDatabase(Database database, ExpressionRewriteContext context) {
- String res = ClusterNamespace.getNameFromFullName(context.cascadesContext.getConnectContext().getDatabase());
+ String res = context.cascadesContext.getConnectContext().getDatabase();
return new VarcharLiteral(res);
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CleanQueryStatsCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CleanQueryStatsCommand.java
index 6be08b239d9..50192a1e557 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CleanQueryStatsCommand.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CleanQueryStatsCommand.java
@@ -20,7 +20,6 @@ package org.apache.doris.nereids.trees.plans.commands;
import org.apache.doris.analysis.StmtType;
import org.apache.doris.catalog.DatabaseIf;
import org.apache.doris.catalog.Env;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.ErrorCode;
@@ -106,7 +105,7 @@ public class CleanQueryStatsCommand extends Command implements ForwardWithSync {
.checkDbPriv(ConnectContext.get(), ctx.getCurrentCatalog().getName(), dbName,
PrivPredicate.ALTER)) {
ErrorReport.reportAnalysisException(ErrorCode.ERR_SPECIFIC_ACCESS_DENIED_ERROR,
- "CLEAN DATABASE QUERY STATS FOR " + ClusterNamespace.getNameFromFullName(dbName));
+ "CLEAN DATABASE QUERY STATS FOR " + dbName);
}
break;
case TABLE:
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowClustersCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowClustersCommand.java
index 7ea77b085a8..a4c389941e0 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowClustersCommand.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowClustersCommand.java
@@ -25,7 +25,6 @@ import org.apache.doris.catalog.ScalarType;
import org.apache.doris.cloud.catalog.ComputeGroup;
import org.apache.doris.cloud.qe.ComputeGroupException;
import org.apache.doris.cloud.system.CloudSystemInfoService;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.Config;
import org.apache.doris.common.ErrorCode;
@@ -133,7 +132,7 @@ public class ShowClustersCommand extends ShowCommand {
// common user, not admin
if (!Env.getCurrentEnv().getAccessManager().checkGlobalPriv(ctx.getCurrentUserIdentity(),
PrivPredicate.of(PrivBitSet.of(Privilege.ADMIN_PRIV), Operator.OR))) {
- users.removeIf(user -> !user.equals(ClusterNamespace.getNameFromFullName(ctx.getQualifiedUser())));
+ users.removeIf(user -> !user.equals(ctx.getQualifiedUser()));
}
String result = Joiner.on(", ").join(users);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowCreateDatabaseCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowCreateDatabaseCommand.java
index 88015bb53ce..8ba313e5dc8 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowCreateDatabaseCommand.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowCreateDatabaseCommand.java
@@ -22,7 +22,6 @@ import org.apache.doris.catalog.Column;
import org.apache.doris.catalog.DatabaseIf;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.ScalarType;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
import org.apache.doris.common.util.DatasourcePrintableMap;
@@ -85,7 +84,7 @@ public class ShowCreateDatabaseCommand extends ShowCommand {
StringBuilder sb = new StringBuilder();
CatalogIf<?> catalog = Env.getCurrentEnv().getCatalogMgr().getCatalogOrAnalysisException(ctlgName);
if (catalog instanceof HMSExternalCatalog) {
- String simpleDBName = ClusterNamespace.getNameFromFullName(databaseName);
+ String simpleDBName = databaseName;
ExternalDatabase dorisDb = ((HMSExternalCatalog) catalog).getDbOrAnalysisException(simpleDBName);
org.apache.hadoop.hive.metastore.api.Database db = ((HMSExternalCatalog) catalog).getClient()
.getDatabase(dorisDb.getRemoteName());
@@ -101,7 +100,7 @@ public class ShowCreateDatabaseCommand extends ShowCommand {
.append("'");
} else {
DatabaseIf db = catalog.getDbOrAnalysisException(databaseName);
- sb.append("CREATE DATABASE `").append(ClusterNamespace.getNameFromFullName(databaseName)).append("`");
+ sb.append("CREATE DATABASE `").append(databaseName).append("`");
if (db.getDbProperties().getProperties().size() > 0) {
sb.append("\nPROPERTIES (\n");
sb.append(new DatasourcePrintableMap<>(db.getDbProperties().getProperties(), "=", true, true, false));
@@ -109,7 +108,7 @@ public class ShowCreateDatabaseCommand extends ShowCommand {
}
}
- rows.add(Lists.newArrayList(ClusterNamespace.getNameFromFullName(databaseName), sb.toString()));
+ rows.add(Lists.newArrayList(databaseName, sb.toString()));
return new ShowResultSet(this.getMetaData(), rows);
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowDatabasesCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowDatabasesCommand.java
index 0e6e06fbba6..4f6b519aa6e 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowDatabasesCommand.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowDatabasesCommand.java
@@ -21,7 +21,6 @@ import org.apache.doris.catalog.Column;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.InfoSchemaDb;
import org.apache.doris.catalog.ScalarType;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.CaseSensibility;
import org.apache.doris.common.PatternMatcher;
@@ -141,7 +140,7 @@ public class ShowDatabasesCommand extends ShowCommand {
}
Set<String> dbNameSet = Sets.newTreeSet();
for (String fullName : dbNames) {
- final String db = ClusterNamespace.getNameFromFullName(fullName);
+ final String db = fullName;
// Filter dbname
if (matcher != null && !matcher.match(db)) {
continue;
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommand.java
index 541ee6f5807..b4e6a664752 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommand.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommand.java
@@ -25,7 +25,6 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.ScalarType;
import org.apache.doris.catalog.TableIf;
import org.apache.doris.catalog.TableIf.TableType;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.Config;
import org.apache.doris.common.ErrorCode;
@@ -287,7 +286,7 @@ public class ShowPartitionsCommand extends ShowCommand {
private ShowResultSet handleShowMaxComputeTablePartitions() {
MaxComputeExternalCatalog mcCatalog = (MaxComputeExternalCatalog) (catalog);
List<List<String>> rows = new ArrayList<>();
- String dbName = ClusterNamespace.getNameFromFullName(tableName.getDb());
+ String dbName = tableName.getDb();
List<String> partitionNames;
if (limit < 0) {
partitionNames = mcCatalog.listPartitionNames(dbName, tableName.getTbl());
@@ -306,7 +305,7 @@ public class ShowPartitionsCommand extends ShowCommand {
private ShowResultSet handleShowPaimonTablePartitions() throws AnalysisException {
PaimonExternalCatalog paimonCatalog = (PaimonExternalCatalog) catalog;
- String db = ClusterNamespace.getNameFromFullName(tableName.getDb());
+ String db = tableName.getDb();
String tbl = tableName.getTbl();
PaimonExternalDatabase database = (PaimonExternalDatabase) paimonCatalog.getDb(db)
@@ -353,7 +352,7 @@ public class ShowPartitionsCommand extends ShowCommand {
private ShowResultSet handleShowHMSTablePartitions() throws AnalysisException {
HMSExternalCatalog hmsCatalog = (HMSExternalCatalog) catalog;
List<List<String>> rows = new ArrayList<>();
- String dbName = ClusterNamespace.getNameFromFullName(tableName.getDb());
+ String dbName = tableName.getDb();
List<String> partitionNames;
// catalog.getClient().listPartitionNames() returned string is the encoded string.
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowTableCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowTableCommand.java
index 2e1247906cf..e9cdcc58663 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowTableCommand.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowTableCommand.java
@@ -24,7 +24,6 @@ import org.apache.doris.catalog.InfoSchemaDb;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.ScalarType;
import org.apache.doris.catalog.TableIf;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.CaseSensibility;
import org.apache.doris.common.ErrorCode;
@@ -116,7 +115,7 @@ public class ShowTableCommand extends ShowCommand {
throws AnalysisException {
List<AliasInfo> selectList = new ArrayList<>();
selectList.add(AliasInfo.of("TABLE_NAME",
- NAME_COL_PREFIX + ClusterNamespace.getNameFromFullName(db)));
+ NAME_COL_PREFIX + db));
if (isVerbose) {
selectList.add(AliasInfo.of("TABLE_TYPE", TYPE_COL));
}
@@ -190,7 +189,7 @@ public class ShowTableCommand extends ShowCommand {
public ShowResultSetMetaData getMetaData() {
ShowResultSetMetaData.Builder builder = ShowResultSetMetaData.builder();
builder.addColumn(
- new Column(NAME_COL_PREFIX + ClusterNamespace.getNameFromFullName(db), ScalarType.createVarchar(20)));
+ new Column(NAME_COL_PREFIX + db, ScalarType.createVarchar(20)));
if (isVerbose) {
builder.addColumn(new Column(TYPE_COL, ScalarType.createVarchar(20)));
// TODO: using where can only show two columns, maybe this is a bug?
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/AlterUserInfo.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/AlterUserInfo.java
index bf0a1aa060b..0bc0a4ef47d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/AlterUserInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/AlterUserInfo.java
@@ -23,7 +23,6 @@ import org.apache.doris.analysis.TlsOptions;
import org.apache.doris.analysis.UserDesc;
import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.catalog.Env;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
@@ -133,7 +132,7 @@ public class AlterUserInfo {
}
if (userDesc.getUserIdent().getQualifiedUser().equals(Auth.ROOT_USER)
- && !ClusterNamespace.getNameFromFullName(ConnectContext.get().getQualifiedUser())
+ && !ConnectContext.get().getQualifiedUser()
.equals(Auth.ROOT_USER)) {
throw new AnalysisException("Only root user can modify root user");
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CopyIntoInfo.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CopyIntoInfo.java
index 0390c445aef..335f126825d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CopyIntoInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CopyIntoInfo.java
@@ -36,7 +36,6 @@ import org.apache.doris.cloud.proto.Cloud.StagePB;
import org.apache.doris.cloud.proto.Cloud.StagePB.StageType;
import org.apache.doris.cloud.stage.StageUtil;
import org.apache.doris.cloud.storage.RemoteBase;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.util.DebugUtil;
@@ -188,7 +187,7 @@ public class CopyIntoInfo {
if (stage.isEmpty()) {
throw new AnalysisException("Stage name can not be empty");
}
- this.userName = ClusterNamespace.getNameFromFullName(ctx.getCurrentUserIdentity().getQualifiedUser());
+ this.userName = ctx.getCurrentUserIdentity().getQualifiedUser();
doValidate(userName, db, true);
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateUserInfo.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateUserInfo.java
index e1ecd55281e..18f0d293ff2 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateUserInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateUserInfo.java
@@ -23,7 +23,6 @@ import org.apache.doris.analysis.TlsOptions;
import org.apache.doris.analysis.UserDesc;
import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.catalog.Env;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
@@ -72,10 +71,9 @@ public class CreateUserInfo {
this.comment = comment;
this.tlsOptions = tlsOptions == null ? TlsOptions.notSpecified() : tlsOptions;
- String uId = Env.getCurrentEnv().getAuth().getUserId(ClusterNamespace
- .getNameFromFullName(this.userIdent.getUser()));
+ String uId = Env.getCurrentEnv().getAuth().getUserId(this.userIdent.getUser());
LOG.debug("create user command userIdent {}, userName {}, userId {}",
- this.userIdent, ClusterNamespace.getNameFromFullName(this.userIdent.getUser()), uId);
+ this.userIdent, this.userIdent.getUser(), uId);
// avoid this case "jack@'192.1'" and "jack@'192.2'", jack's uid different
if (Strings.isNullOrEmpty(uId)) {
userId = UUID.randomUUID().toString();
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/load/MysqlDataDescription.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/load/MysqlDataDescription.java
index fa0f51c2333..4d41768b1db 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/load/MysqlDataDescription.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/load/MysqlDataDescription.java
@@ -20,7 +20,6 @@ package org.apache.doris.nereids.trees.plans.commands.load;
import org.apache.doris.analysis.ImportColumnDesc;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.info.PartitionNamesInfo;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.ErrorCode;
import org.apache.doris.common.ErrorReport;
@@ -233,7 +232,7 @@ public class MysqlDataDescription {
sb.append("DATA ").append(isClientLocal() ? "LOCAL " : "");
sb.append("INFILE '").append(filePaths.get(0)).append("'");
sb.append(" INTO TABLE ");
- sb.append(ClusterNamespace.getNameFromFullName(dbName) + "." + tableName);
+ sb.append(dbName + "." + tableName);
sb.append(" ");
sb.append(partitionNamesInfo.toSql());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/AlterDatabasePropertyInfo.java b/fe/fe-core/src/main/java/org/apache/doris/persist/AlterDatabasePropertyInfo.java
index c9879c6d9b9..b58aad247f9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/persist/AlterDatabasePropertyInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/persist/AlterDatabasePropertyInfo.java
@@ -17,10 +17,8 @@
package org.apache.doris.persist;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
-import org.apache.doris.persist.gson.GsonPostProcessable;
import org.apache.doris.persist.gson.GsonUtils;
import com.google.gson.annotations.SerializedName;
@@ -30,7 +28,7 @@ import java.io.DataOutput;
import java.io.IOException;
import java.util.Map;
-public class AlterDatabasePropertyInfo implements Writable, GsonPostProcessable {
+public class AlterDatabasePropertyInfo implements Writable {
@SerializedName(value = "dbId")
private long dbId;
@@ -70,9 +68,4 @@ public class AlterDatabasePropertyInfo implements Writable, GsonPostProcessable
public String toJson() {
return GsonUtils.GSON.toJson(this);
}
-
- @Override
- public void gsonPostProcess() throws IOException {
- dbName = ClusterNamespace.getNameFromFullName(dbName);
- }
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/CreateTableInfo.java b/fe/fe-core/src/main/java/org/apache/doris/persist/CreateTableInfo.java
index 13d25e22cdc..31a6bb0bc83 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/persist/CreateTableInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/persist/CreateTableInfo.java
@@ -18,11 +18,9 @@
package org.apache.doris.persist;
import org.apache.doris.catalog.Table;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
import org.apache.doris.datasource.InternalCatalog;
-import org.apache.doris.persist.gson.GsonPostProcessable;
import org.apache.doris.persist.gson.GsonUtils;
import com.google.common.base.Strings;
@@ -35,7 +33,7 @@ import java.io.DataOutput;
import java.io.IOException;
import java.util.Objects;
-public class CreateTableInfo implements Writable, GsonPostProcessable {
+public class CreateTableInfo implements Writable {
public static final Logger LOG = LoggerFactory.getLogger(CreateTableInfo.class);
@SerializedName(value = "ctl")
@@ -129,9 +127,4 @@ public class CreateTableInfo implements Writable, GsonPostProcessable {
dbName,
Strings.isNullOrEmpty(tblName) ? table.getName() : tblName);
}
-
- @Override
- public void gsonPostProcess() throws IOException {
- dbName = ClusterNamespace.getNameFromFullName(dbName);
- }
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/DatabaseInfo.java b/fe/fe-core/src/main/java/org/apache/doris/persist/DatabaseInfo.java
index 8d1e90ca660..d1a2e80c3f2 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/persist/DatabaseInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/persist/DatabaseInfo.java
@@ -20,10 +20,8 @@ package org.apache.doris.persist;
import org.apache.doris.alter.QuotaType;
import org.apache.doris.catalog.BinlogConfig;
import org.apache.doris.catalog.Database.DbState;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
-import org.apache.doris.persist.gson.GsonPostProcessable;
import org.apache.doris.persist.gson.GsonUtils;
import com.google.gson.annotations.SerializedName;
@@ -32,7 +30,7 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-public class DatabaseInfo implements Writable, GsonPostProcessable {
+public class DatabaseInfo implements Writable {
@SerializedName(value = "dbName")
private String dbName;
@@ -40,8 +38,6 @@ public class DatabaseInfo implements Writable, GsonPostProcessable {
private String newDbName;
@SerializedName(value = "quota")
private long quota;
- @SerializedName(value = "clusterName")
- private String clusterName;
@SerializedName(value = "dbState")
private DbState dbState;
@SerializedName(value = "quotaType")
@@ -54,7 +50,6 @@ public class DatabaseInfo implements Writable, GsonPostProcessable {
this.dbName = "";
this.newDbName = "";
this.quota = 0;
- this.clusterName = "";
this.dbState = DbState.NORMAL;
this.quotaType = QuotaType.DATA;
binlogConfig = null;
@@ -64,7 +59,6 @@ public class DatabaseInfo implements Writable, GsonPostProcessable {
this.dbName = dbName;
this.newDbName = newDbName;
this.quota = quota;
- this.clusterName = "";
this.dbState = DbState.NORMAL;
this.quotaType = quotaType;
this.binlogConfig = null;
@@ -107,10 +101,4 @@ public class DatabaseInfo implements Writable, GsonPostProcessable {
public String toString() {
return toJson();
}
-
- @Override
- public void gsonPostProcess() throws IOException {
- dbName = ClusterNamespace.getNameFromFullName(dbName);
- newDbName = ClusterNamespace.getNameFromFullName(newDbName);
- }
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/DropDbInfo.java b/fe/fe-core/src/main/java/org/apache/doris/persist/DropDbInfo.java
index 25e8ab74d1e..c9d2009521a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/persist/DropDbInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/persist/DropDbInfo.java
@@ -17,10 +17,8 @@
package org.apache.doris.persist;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
-import org.apache.doris.persist.gson.GsonPostProcessable;
import org.apache.doris.persist.gson.GsonUtils;
import com.google.gson.annotations.SerializedName;
@@ -29,7 +27,7 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-public class DropDbInfo implements Writable, GsonPostProcessable {
+public class DropDbInfo implements Writable {
@SerializedName(value = "ctl")
private String ctlName;
@SerializedName(value = "dbName")
@@ -98,9 +96,4 @@ public class DropDbInfo implements Writable, GsonPostProcessable {
&& (forceDrop == info.isForceDrop())
&& (recycleTime == info.getRecycleTime());
}
-
- @Override
- public void gsonPostProcess() throws IOException {
- dbName = ClusterNamespace.getNameFromFullName(dbName);
- }
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/PrivInfo.java b/fe/fe-core/src/main/java/org/apache/doris/persist/PrivInfo.java
index de640059ccc..be62862b1a9 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/persist/PrivInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/persist/PrivInfo.java
@@ -22,12 +22,10 @@ import org.apache.doris.analysis.ResourcePattern;
import org.apache.doris.analysis.TablePattern;
import org.apache.doris.analysis.UserIdentity;
import org.apache.doris.analysis.WorkloadGroupPattern;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
import org.apache.doris.mysql.privilege.ColPrivilegeKey;
import org.apache.doris.mysql.privilege.PrivBitSet;
-import org.apache.doris.persist.gson.GsonPostProcessable;
import org.apache.doris.persist.gson.GsonUtils;
import com.google.gson.annotations.SerializedName;
@@ -39,7 +37,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-public class PrivInfo implements Writable, GsonPostProcessable {
+public class PrivInfo implements Writable {
@SerializedName(value = "userIdent")
private UserIdentity userIdent;
@SerializedName(value = "tblPattern")
@@ -185,20 +183,6 @@ public class PrivInfo implements Writable, GsonPostProcessable {
return colPrivileges;
}
- private void removeClusterPrefix() {
- if (userIdent != null) {
- userIdent.removeClusterPrefix();
- }
- if (roles != null) {
- for (int i = 0; i < roles.size(); i++) {
- roles.set(i, ClusterNamespace.getNameFromFullName(roles.get(i)));
- }
- }
- if (role != null) {
- role = ClusterNamespace.getNameFromFullName(role);
- }
- }
-
public static PrivInfo read(DataInput in) throws IOException {
return GsonUtils.GSON.fromJson(Text.readString(in), PrivInfo.class);
}
@@ -207,9 +191,4 @@ public class PrivInfo implements Writable, GsonPostProcessable {
public void write(DataOutput out) throws IOException {
Text.writeString(out, GsonUtils.GSON.toJson(this));
}
-
- @Override
- public void gsonPostProcess() throws IOException {
- removeClusterPrefix();
- }
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/persist/RecoverInfo.java b/fe/fe-core/src/main/java/org/apache/doris/persist/RecoverInfo.java
index ae84408e8d9..d82ccd9e819 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/persist/RecoverInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/persist/RecoverInfo.java
@@ -17,10 +17,8 @@
package org.apache.doris.persist;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
-import org.apache.doris.persist.gson.GsonPostProcessable;
import org.apache.doris.persist.gson.GsonUtils;
import com.google.gson.annotations.SerializedName;
@@ -29,7 +27,7 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-public class RecoverInfo implements Writable, GsonPostProcessable {
+public class RecoverInfo implements Writable {
@SerializedName(value = "dbId")
private long dbId;
@SerializedName(value = "newDbName")
@@ -100,11 +98,6 @@ public class RecoverInfo implements Writable, GsonPostProcessable {
return GsonUtils.GSON.fromJson(Text.readString(in), RecoverInfo.class);
}
- @Override
- public void gsonPostProcess() throws IOException {
- newDbName = ClusterNamespace.getNameFromFullName(newDbName);
- }
-
public String toJson() {
return GsonUtils.GSON.toJson(this);
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/policy/PolicyMgr.java b/fe/fe-core/src/main/java/org/apache/doris/policy/PolicyMgr.java
index d749b1436bf..0ecb66853d2 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/policy/PolicyMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/policy/PolicyMgr.java
@@ -23,7 +23,6 @@ import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.PartitionInfo;
import org.apache.doris.catalog.Table;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.UserException;
@@ -363,7 +362,7 @@ public class PolicyMgr implements Writable {
return res;
}
Set<String> roles = Env.getCurrentEnv().getAccessManager().getAuth().getRolesByUserWithLdap(user).stream()
- .map(role -> ClusterNamespace.getNameFromFullName(role.getRoleName())).collect(Collectors.toSet());
+ .map(role -> role.getRoleName()).collect(Collectors.toSet());
readLock();
try {
// double check in lock,avoid NPE
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java b/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java
index 2c7a35b994f..fb5040be30e 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java
@@ -23,7 +23,6 @@ import org.apache.doris.analysis.StmtType;
import org.apache.doris.catalog.Env;
import org.apache.doris.cloud.qe.ComputeGroupException;
import org.apache.doris.cloud.system.CloudSystemInfoService;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
import org.apache.doris.common.profile.SummaryProfile;
import org.apache.doris.common.util.DebugUtil;
@@ -246,10 +245,10 @@ public class AuditLogHelper {
.setQueryId(ctx.queryId() == null ? "NaN" : DebugUtil.printId(ctx.queryId()))
.setTimestamp(ctx.getStartTime())
.setClientIp(ctx.getClientIP())
- .setUser(ClusterNamespace.getNameFromFullName(ctx.getQualifiedUser()))
+ .setUser(ctx.getQualifiedUser())
.setFeIp(FrontendOptions.getLocalHostAddress())
.setCtl(catalog == null ? InternalCatalog.INTERNAL_CATALOG_NAME : catalog.getName())
- .setDb(ClusterNamespace.getNameFromFullName(ctx.getDatabase()))
+ .setDb(ctx.getDatabase())
.setState(ctx.getState().toString())
.setErrorCode(ctx.getState().getErrorCode() == null ? 0 : ctx.getState().getErrorCode().getCode())
.setErrorMessage((ctx.getState().getErrorMessage() == null ? "" :
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java
index 6c9f24809ad..8aa0ccdf547 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java
@@ -35,7 +35,6 @@ import org.apache.doris.catalog.FunctionRegistry;
import org.apache.doris.catalog.Type;
import org.apache.doris.cloud.qe.ComputeGroupException;
import org.apache.doris.cloud.system.CloudSystemInfoService;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.Config;
import org.apache.doris.common.DdlException;
import org.apache.doris.common.ErrorCode;
@@ -1226,7 +1225,7 @@ public class ConnectContext {
row.add("No");
}
row.add("" + connectionId);
- row.add(ClusterNamespace.getNameFromFullName(getQualifiedUser()));
+ row.add(getQualifiedUser());
row.add(getRemoteHostPortString());
if (timeZone.isPresent()) {
row.add(TimeUtils.longToTimeStringWithTimeZone(loginTime, timeZone.get()));
@@ -1234,7 +1233,7 @@ public class ConnectContext {
row.add(TimeUtils.longToTimeString(loginTime));
}
row.add(defaultCatalog);
- row.add(ClusterNamespace.getNameFromFullName(currentDb));
+ row.add(currentDb);
row.add(command.toString());
row.add("" + (nowMs - startTime) / 1000);
row.add(state.toString());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
index 33784ec9c52..63d1f19dac5 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
@@ -49,7 +49,6 @@ import org.apache.doris.cloud.catalog.CloudReplica;
import org.apache.doris.cloud.catalog.CloudTablet;
import org.apache.doris.cloud.proto.Cloud.CommitTxnResponse;
import org.apache.doris.cloud.system.CloudSystemInfoService;
-import org.apache.doris.cluster.ClusterNamespace;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.AuthenticationException;
import org.apache.doris.common.CaseSensibility;
@@ -1185,7 +1184,7 @@ public class FrontendServiceImpl implements FrontendService.Iface {
private UserIdentity checkPasswordAndPrivs(String user, String passwd, String db, List<String> tables,
String clientIp, PrivPredicate predicate) throws AuthenticationException {
- final String fullUserName = ClusterNamespace.getNameFromFullName(user);
+ final String fullUserName = user;
final String fullDbName = db;
List<UserIdentity> currentUser = Lists.newArrayList();
Env.getCurrentEnv().getAuth().checkPlainPassword(fullUserName, clientIp, passwd, currentUser);
@@ -1217,7 +1216,7 @@ public class FrontendServiceImpl implements FrontendService.Iface {
private void checkPassword(String user, String passwd, String clientIp)
throws AuthenticationException {
- final String fullUserName = ClusterNamespace.getNameFromFullName(user);
+ final String fullUserName = user;
List<UserIdentity> currentUser = Lists.newArrayList();
Env.getCurrentEnv().getAuth().checkPlainPassword(fullUserName, clientIp, passwd, currentUser);
Preconditions.checkState(currentUser.size() == 1);
@@ -2276,7 +2275,7 @@ public class FrontendServiceImpl implements FrontendService.Iface {
throw new AuthenticationException("Invalid token: " + request.getToken());
}
} else {
- final String fullUserName = ClusterNamespace.getNameFromFullName(request.getUser());
+ final String fullUserName = request.getUser();
List<UserIdentity> currentUser = Lists.newArrayList();
Env.getCurrentEnv().getAuth()
.checkPlainPassword(fullUserName, clientAddr, request.getPasswd(), currentUser);
@@ -2471,7 +2470,7 @@ public class FrontendServiceImpl implements FrontendService.Iface {
throw new AuthenticationException("Invalid token: " + request.getToken());
}
} else {
- final String fullUserName = ClusterNamespace.getNameFromFullName(request.getUser());
+ final String fullUserName = request.getUser();
List<UserIdentity> currentUser = Lists.newArrayList();
Env.getCurrentEnv().getAuth()
.checkPlainPassword(fullUserName, clientAddr, request.getPasswd(), currentUser);
@@ -2552,7 +2551,7 @@ public class FrontendServiceImpl implements FrontendService.Iface {
throw new AuthenticationException("Invalid token: " + request.getToken());
}
} else {
- final String fullUserName = ClusterNamespace.getNameFromFullName(request.getUser());
+ final String fullUserName = request.getUser();
List<UserIdentity> currentUser = Lists.newArrayList();
Env.getCurrentEnv().getAuth()
.checkPlainPassword(fullUserName, clientAddr, request.getPasswd(), currentUser);
@@ -3225,7 +3224,7 @@ public class FrontendServiceImpl implements FrontendService.Iface {
TStatus status = new TStatus(TStatusCode.OK);
result.setStatus(status);
// check account and password
- final String fullUserName = ClusterNamespace.getNameFromFullName(request.getUser());
+ final String fullUserName = request.getUser();
List<UserIdentity> currentUser = Lists.newArrayList();
try {
Env.getCurrentEnv().getAuth().checkPlainPassword(fullUserName, request.getUserIp(), request.getPasswd(),
@@ -3949,7 +3948,7 @@ public class FrontendServiceImpl implements FrontendService.Iface {
LOG.debug("restore snapshot info, restoreCommand: {}", restoreCommand);
try {
ConnectContext ctx = new ConnectContext();
- String fullUserName = ClusterNamespace.getNameFromFullName(request.getUser());
+ String fullUserName = request.getUser();
ctx.setCurrentUserIdentity(UserIdentity.createAnalyzedUserIdentWithIp(fullUserName, "%"));
ctx.setThreadLocalInfo();
restoreCommand.validate(ctx);
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/NormalizeAggregateTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/NormalizeAggregateTest.java
index 623593c1491..c331db29e21 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/NormalizeAggregateTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/NormalizeAggregateTest.java
@@ -66,7 +66,7 @@ public class NormalizeAggregateTest extends TestWithFeService implements MemoPat
rStudent = new LogicalOlapScan(StatementScopeIdGenerator.newRelationId(), PlanConstructor.student,
ImmutableList.of());
createDatabase("test");
- connectContext.setDatabase("default_cluster:test");
+ connectContext.setDatabase("test");
createTables(
"CREATE TABLE IF NOT EXISTS t1 (\n"
+ " id int not null,\n"
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/UserAuthenticationTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/UserAuthenticationTest.java
index b026dad95d4..d440d32dd18 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/UserAuthenticationTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/UserAuthenticationTest.java
@@ -291,54 +291,6 @@ public class UserAuthenticationTest {
UserAuthentication.checkPermission(table, connectContext, null));
}
- /**
- * Test that cluster:information_schema.cluster_snapshots (with cluster prefix)
- * DOES trigger special privilege check.
- * This verifies ClusterNamespace.getNameFromFullName correctly strips the cluster prefix.
- */
- @Test
- public void testInfoSchemaWithClusterPrefixTriggersSpecialCheck() {
- Config.cluster_snapshot_min_privilege = "root";
-
- UserIdentity normalUser = new UserIdentity("normal_user", "%");
- normalUser.setIsAnalyzed();
-
- new Expectations() {
- {
- table.getName();
- minTimes = 0;
- result = "cluster_snapshots";
-
- table.getDatabase();
- minTimes = 0;
- result = db;
-
- // Database name with cluster prefix - ClusterNamespace.getNameFromFullName
- // should strip "default_cluster:" and return "information_schema"
- db.getFullName();
- minTimes = 0;
- result = "default_cluster:information_schema";
-
- connectContext.getSessionVariable();
- minTimes = 0;
- result = sessionVariable;
-
- sessionVariable.isPlayNereidsDump();
- minTimes = 0;
- result = false;
-
- connectContext.getCurrentUserIdentity();
- minTimes = 0;
- result = normalUser;
- }
- };
-
- // Should throw AnalysisException because after stripping cluster prefix,
- // the db name is "information_schema", which triggers special privilege check
- Assertions.assertThrows(AnalysisException.class, () ->
- UserAuthentication.checkPermission(table, connectContext, null));
- }
-
/**
* Test that information_schema.cluster_snapshots allows admin user in admin mode.
*/
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/DecomposeRepeatWithPreAggregationTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/DecomposeRepeatWithPreAggregationTest.java
index 725b537f1e6..d0b52cbffcd 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/DecomposeRepeatWithPreAggregationTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/DecomposeRepeatWithPreAggregationTest.java
@@ -75,7 +75,7 @@ public class DecomposeRepeatWithPreAggregationTest extends TestWithFeService imp
+ "distributed by hash(a) buckets 1\n"
+ "properties('replication_num' = '1');"
);
- connectContext.setDatabase("default_cluster:decompose_repeat_with_preagg");
+ connectContext.setDatabase("decompose_repeat_with_preagg");
connectContext.getSessionVariable().setDisableNereidsRules("PRUNE_EMPTY_PARTITION");
rule = DecomposeRepeatWithPreAggregation.INSTANCE;
ctx = new DistinctSelectorContext(
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateGroupByTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateGroupByTest.java
index 3c4c509b73c..ff02eacf5fb 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateGroupByTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateGroupByTest.java
@@ -38,7 +38,7 @@ class EliminateGroupByTest extends TestWithFeService implements MemoPatternMatch
+ "distributed by hash(id) buckets 10\n"
+ "properties('replication_num' = '1');"
);
- connectContext.setDatabase("default_cluster:eliminate_group_by");
+ connectContext.setDatabase("eliminate_group_by");
}
@Test
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateJoinByFkTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateJoinByFkTest.java
index 0d54ad4f1e5..63f1b650bbc 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateJoinByFkTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateJoinByFkTest.java
@@ -49,7 +49,7 @@ class EliminateJoinByFkTest extends TestWithFeService implements MemoPatternMatc
@Override
protected void runBeforeAll() throws Exception {
createDatabase("test");
- connectContext.setDatabase("default_cluster:test");
+ connectContext.setDatabase("test");
createTables(
"CREATE TABLE IF NOT EXISTS pri (\n"
+ " id1 int not null\n"
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateJoinByUniqueTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateJoinByUniqueTest.java
index 88c9ecc339e..6b239fd3cf7 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateJoinByUniqueTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/EliminateJoinByUniqueTest.java
@@ -27,7 +27,7 @@ class EliminateJoinByUniqueTest extends TestWithFeService implements MemoPattern
@Override
protected void runBeforeAll() throws Exception {
createDatabase("test");
- connectContext.setDatabase("default_cluster:test");
+ connectContext.setDatabase("test");
connectContext.getSessionVariable().setDisableNereidsRules("PRUNE_EMPTY_PARTITION");
createTables(
"CREATE TABLE IF NOT EXISTS t1 (\n"
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/MergePercentileToArrayTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/MergePercentileToArrayTest.java
index 47597db1af3..b9f530d2d08 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/MergePercentileToArrayTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/MergePercentileToArrayTest.java
@@ -34,7 +34,7 @@ public class MergePercentileToArrayTest extends TestWithFeService implements Mem
+ "distributed by hash(pk) buckets 10\n"
+ "properties('replication_num' = '1');"
);
- connectContext.setDatabase("default_cluster:merge_percentile_to_array");
+ connectContext.setDatabase("merge_percentile_to_array");
connectContext.getSessionVariable().setDisableNereidsRules("PRUNE_EMPTY_PARTITION");
}
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/OrExpansionTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/OrExpansionTest.java
index 0f2d9418bff..9a1094079b8 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/OrExpansionTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/OrExpansionTest.java
@@ -31,7 +31,7 @@ class OrExpansionTest extends TestWithFeService implements MemoPatternMatchSuppo
@Override
protected void runBeforeAll() throws Exception {
createDatabase("test");
- connectContext.setDatabase("default_cluster:test");
+ connectContext.setDatabase("test");
createTables(
"CREATE TABLE IF NOT EXISTS t1 (\n"
+ " id1 int not null,\n"
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PullUpJoinFromUnionTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PullUpJoinFromUnionTest.java
index 2becded7903..d3946202a5b 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PullUpJoinFromUnionTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PullUpJoinFromUnionTest.java
@@ -27,7 +27,7 @@ class PullUpJoinFromUnionTest extends TestWithFeService implements MemoPatternMa
@Override
protected void runBeforeAll() throws Exception {
createDatabase("test");
- connectContext.setDatabase("default_cluster:test");
+ connectContext.setDatabase("test");
createTables(
"CREATE TABLE IF NOT EXISTS t1 (\n"
+ " id int not null,\n"
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownAggThroughJoinOnPkFkTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownAggThroughJoinOnPkFkTest.java
index 1ef4653e36c..f2dbf786561 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownAggThroughJoinOnPkFkTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownAggThroughJoinOnPkFkTest.java
@@ -27,7 +27,7 @@ class PushDownAggThroughJoinOnPkFkTest extends TestWithFeService implements Memo
@Override
protected void runBeforeAll() throws Exception {
createDatabase("test");
- connectContext.setDatabase("default_cluster:test");
+ connectContext.setDatabase("test");
createTables(
"CREATE TABLE IF NOT EXISTS pri (\n"
+ " id1 int not null,\n"
diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/eageraggregation/EagerAggRewriterTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/eageraggregation/EagerAggRewriterTest.java
index 1b7a312efd6..4b0561ccd0f 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/eageraggregation/EagerAggRewriterTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/eageraggregation/EagerAggRewriterTest.java
@@ -27,7 +27,7 @@ class EagerAggRewriterTest extends TestWithFeService implements MemoPatternMatch
@Override
protected void runBeforeAll() throws Exception {
createDatabase("test");
- connectContext.setDatabase("default_cluster:test");
+ connectContext.setDatabase("test");
createTables(
"CREATE TABLE IF NOT EXISTS t1 (\n"
+ " id1 int not null,\n"
diff --git a/regression-test/data/nereids_rules_p0/bindExpression/bind_dbname_ignore_cluster.out b/regression-test/data/nereids_rules_p0/bindExpression/bind_dbname_ignore_cluster.out
deleted file mode 100644
index b07b84f44a3..00000000000
--- a/regression-test/data/nereids_rules_p0/bindExpression/bind_dbname_ignore_cluster.out
+++ /dev/null
@@ -1,4 +0,0 @@
--- This file is automatically generated. You should know what you did if you want to edit this
--- !test_update --
-2 10
-
diff --git a/regression-test/suites/nereids_rules_p0/bindExpression/bind_dbname_ignore_cluster.groovy b/regression-test/suites/nereids_rules_p0/bindExpression/bind_dbname_ignore_cluster.groovy
deleted file mode 100644
index a17d1742133..00000000000
--- a/regression-test/suites/nereids_rules_p0/bindExpression/bind_dbname_ignore_cluster.groovy
+++ /dev/null
@@ -1,41 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-suite("test_db_name_ignore_cluster") {
- String db = context.config.getDbNameByFile(new File(context.file.parent))
- sql 'set enable_nereids_planner=true'
- sql 'set enable_nereids_distribute_planner=false'
- sql "use ${db}"
- sql "drop table if exists ${db}.test_db_name_ignore_cluster"
- sql """create table ${db}.test_db_name_ignore_cluster(a int, b int) unique key(a) distributed by hash(a)
- properties("replication_num"="1");"""
- sql "select ${db}.test_db_name_ignore_cluster.a from `default_cluster:${db}`.test_db_name_ignore_cluster;"
- sql "select ${db}.test_db_name_ignore_cluster.* from `default_cluster:${db}`.test_db_name_ignore_cluster;"
-
- sql "select `default_cluster:${db}`.test_db_name_ignore_cluster.a from `${db}`.test_db_name_ignore_cluster;"
- sql "select `default_cluster:${db}`.test_db_name_ignore_cluster.* from `${db}`.test_db_name_ignore_cluster;"
-
- sql "select `default_cluster:${db}`.test_db_name_ignore_cluster.a from `default_cluster:${db}`.test_db_name_ignore_cluster;"
- sql "select `default_cluster:${db}`.test_db_name_ignore_cluster.* from `default_cluster:${db}`.test_db_name_ignore_cluster;"
-
- sql "select internal.`${db}`.test_db_name_ignore_cluster.a from internal.`default_cluster:${db}`.test_db_name_ignore_cluster;"
- sql "select internal.`default_cluster:${db}`.test_db_name_ignore_cluster.* from internal.`${db}`.test_db_name_ignore_cluster;"
-
- sql "insert into ${db}.test_db_name_ignore_cluster values(2,4)"
- sql "update `default_cluster:${db}`.test_db_name_ignore_cluster set `${db}`.test_db_name_ignore_cluster.b=10;"
- sql "update `${db}`.test_db_name_ignore_cluster set `${db}`.test_db_name_ignore_cluster.b=10;"
- qt_test_update "select * from ${db}.test_db_name_ignore_cluster"
-}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org