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