This is an automated email from the ASF dual-hosted git repository. morningman 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 1a2ec2fbd92 [fix](meta)Fix error code for unknown table #27751 (#27976) 1a2ec2fbd92 is described below commit 1a2ec2fbd92cf1e211a626cda7cac61b0b1cc8dc Author: Vallish Pai <vallish...@gmail.com> AuthorDate: Fri Dec 29 13:58:04 2023 +0530 [fix](meta)Fix error code for unknown table #27751 (#27976) This fix will improve the error code for unknown table exception cases. --- .../org/apache/doris/alter/AlterCancelException.java | 6 ++++++ .../main/java/org/apache/doris/catalog/DatabaseIf.java | 18 ++++++++++++------ .../src/main/java/org/apache/doris/catalog/Table.java | 13 +++++++++---- .../apache/doris/catalog/external/ExternalTable.java | 13 +++++++++---- .../main/java/org/apache/doris/common/ErrorReport.java | 2 +- .../org/apache/doris/datasource/InternalCatalog.java | 2 +- 6 files changed, 38 insertions(+), 16 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/alter/AlterCancelException.java b/fe/fe-core/src/main/java/org/apache/doris/alter/AlterCancelException.java index 2c22322240f..b4170e41a86 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/alter/AlterCancelException.java +++ b/fe/fe-core/src/main/java/org/apache/doris/alter/AlterCancelException.java @@ -18,6 +18,7 @@ package org.apache.doris.alter; import org.apache.doris.common.DdlException; +import org.apache.doris.common.ErrorCode; /* * This exception will be thrown when the alter job(v2) being cancelled due to @@ -30,4 +31,9 @@ public class AlterCancelException extends DdlException { public AlterCancelException(String msg) { super(msg); } + + public AlterCancelException(String msg, ErrorCode mysqlErrorCode) { + super(msg); + setMysqlErrorCode(mysqlErrorCode); + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/DatabaseIf.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/DatabaseIf.java index 985296c366f..3ba29573374 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/DatabaseIf.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/DatabaseIf.java @@ -151,11 +151,13 @@ public interface DatabaseIf<T extends TableIf> { } default T getTableOrMetaException(String tableName) throws MetaNotFoundException { - return getTableOrException(tableName, t -> new MetaNotFoundException("unknown table, tableName=" + t)); + return getTableOrException(tableName, t -> new MetaNotFoundException("unknown table, tableName=" + t, + ErrorCode.ERR_BAD_TABLE_ERROR)); } default T getTableOrMetaException(long tableId) throws MetaNotFoundException { - return getTableOrException(tableId, t -> new MetaNotFoundException("unknown table, tableId=" + t)); + return getTableOrException(tableId, t -> new MetaNotFoundException("unknown table, tableId=" + t, + ErrorCode.ERR_BAD_TABLE_ERROR)); } default T getTableOrMetaException(String tableName, TableIf.TableType tableType) throws MetaNotFoundException { @@ -206,7 +208,8 @@ public interface DatabaseIf<T extends TableIf> { } default T getTableOrDdlException(String tableName) throws DdlException { - return getTableOrException(tableName, t -> new DdlException(ErrorCode.ERR_BAD_TABLE_ERROR.formatErrorMsg(t))); + return getTableOrException(tableName, t -> new DdlException(ErrorCode.ERR_BAD_TABLE_ERROR.formatErrorMsg(t), + ErrorCode.ERR_BAD_TABLE_ERROR)); } default T getTableOrDdlException(String tableName, TableIf.TableType tableType) throws DdlException { @@ -220,7 +223,8 @@ public interface DatabaseIf<T extends TableIf> { } default T getTableOrDdlException(long tableId) throws DdlException { - return getTableOrException(tableId, t -> new DdlException(ErrorCode.ERR_BAD_TABLE_ERROR.formatErrorMsg(t))); + return getTableOrException(tableId, t -> new DdlException(ErrorCode.ERR_BAD_TABLE_ERROR.formatErrorMsg(t), + ErrorCode.ERR_BAD_TABLE_ERROR)); } default T getTableOrDdlException(long tableId, TableIf.TableType tableType) throws DdlException { @@ -235,12 +239,14 @@ public interface DatabaseIf<T extends TableIf> { default T getTableOrAnalysisException(String tableName) throws AnalysisException { return getTableOrException(tableName, - t -> new AnalysisException(ErrorCode.ERR_BAD_TABLE_ERROR.formatErrorMsg(t))); + t -> new AnalysisException(ErrorCode.ERR_BAD_TABLE_ERROR.formatErrorMsg(t), + ErrorCode.ERR_BAD_TABLE_ERROR)); } default T getTableOrAnalysisException(long tableId) throws AnalysisException { return getTableOrException(tableId, - t -> new AnalysisException(ErrorCode.ERR_BAD_TABLE_ERROR.formatErrorMsg(t))); + t -> new AnalysisException(ErrorCode.ERR_BAD_TABLE_ERROR.formatErrorMsg(t), + ErrorCode.ERR_BAD_TABLE_ERROR)); } default OlapTable getOlapTableOrDdlException(String tableName) throws DdlException { diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Table.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Table.java index f6481aea2d5..4abf490f90f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Table.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Table.java @@ -22,6 +22,7 @@ import org.apache.doris.analysis.CreateTableStmt; import org.apache.doris.catalog.constraint.Constraint; import org.apache.doris.common.Config; import org.apache.doris.common.DdlException; +import org.apache.doris.common.ErrorCode; import org.apache.doris.common.MetaNotFoundException; import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; @@ -257,19 +258,23 @@ public abstract class Table extends MetaObject implements Writable, TableIf { } public void writeLockOrDdlException() throws DdlException { - writeLockOrException(new DdlException("unknown table, tableName=" + name)); + writeLockOrException(new DdlException("unknown table, tableName=" + name, + ErrorCode.ERR_BAD_TABLE_ERROR)); } public void writeLockOrMetaException() throws MetaNotFoundException { - writeLockOrException(new MetaNotFoundException("unknown table, tableName=" + name)); + writeLockOrException(new MetaNotFoundException("unknown table, tableName=" + name, + ErrorCode.ERR_BAD_TABLE_ERROR)); } public void writeLockOrAlterCancelException() throws AlterCancelException { - writeLockOrException(new AlterCancelException("unknown table, tableName=" + name)); + writeLockOrException(new AlterCancelException("unknown table, tableName=" + name, + ErrorCode.ERR_BAD_TABLE_ERROR)); } public boolean tryWriteLockOrMetaException(long timeout, TimeUnit unit) throws MetaNotFoundException { - return tryWriteLockOrException(timeout, unit, new MetaNotFoundException("unknown table, tableName=" + name)); + return tryWriteLockOrException(timeout, unit, new MetaNotFoundException("unknown table, tableName=" + name, + ErrorCode.ERR_BAD_TABLE_ERROR)); } public <E extends Exception> boolean tryWriteLockOrException(long timeout, TimeUnit unit, E e) throws E { diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalTable.java index 2e0cc8ac565..49bf2858905 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalTable.java @@ -24,6 +24,7 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.TableIf; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.DdlException; +import org.apache.doris.common.ErrorCode; import org.apache.doris.common.MetaNotFoundException; import org.apache.doris.common.io.Text; import org.apache.doris.common.io.Writable; @@ -186,22 +187,26 @@ public class ExternalTable implements TableIf, Writable, GsonPostProcessable { @Override public void writeLockOrDdlException() throws DdlException { - writeLockOrException(new DdlException("unknown table, tableName=" + name)); + writeLockOrException(new DdlException("unknown table, tableName=" + name, + ErrorCode.ERR_BAD_TABLE_ERROR)); } @Override public void writeLockOrMetaException() throws MetaNotFoundException { - writeLockOrException(new MetaNotFoundException("unknown table, tableName=" + name)); + writeLockOrException(new MetaNotFoundException("unknown table, tableName=" + name, + ErrorCode.ERR_BAD_TABLE_ERROR)); } @Override public void writeLockOrAlterCancelException() throws AlterCancelException { - writeLockOrException(new AlterCancelException("unknown table, tableName=" + name)); + writeLockOrException(new AlterCancelException("unknown table, tableName=" + name, + ErrorCode.ERR_BAD_TABLE_ERROR)); } @Override public boolean tryWriteLockOrMetaException(long timeout, TimeUnit unit) throws MetaNotFoundException { - return tryWriteLockOrException(timeout, unit, new MetaNotFoundException("unknown table, tableName=" + name)); + return tryWriteLockOrException(timeout, unit, new MetaNotFoundException("unknown table, tableName=" + name, + ErrorCode.ERR_BAD_TABLE_ERROR)); } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/ErrorReport.java b/fe/fe-core/src/main/java/org/apache/doris/common/ErrorReport.java index b92b9cbe547..35fa6d65141 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/ErrorReport.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/ErrorReport.java @@ -65,7 +65,7 @@ public class ErrorReport { public static void reportDdlException(String pattern, ErrorCode errorCode, Object... objs) throws DdlException { - throw new DdlException(reportCommon(pattern, errorCode, objs)); + throw new DdlException(reportCommon(pattern, errorCode, objs), errorCode); } public static void report(ErrorCode errorCode, Object... objs) { 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 2e031faede2..a3ced0b72fe 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 @@ -912,7 +912,7 @@ public class InternalCatalog implements CatalogIf<Database> { Env.getCurrentEnv().getAnalysisManager().removeTableStats(table.getId()); Env.getCurrentEnv().getMtmvService().dropTable(table); } catch (UserException e) { - throw new DdlException(e.getMessage(), e); + throw new DdlException(e.getMessage(), e.getMysqlErrorCode()); } finally { db.writeUnlock(); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org