This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new b31ed747b6 [IOTDB-4490] Msg does not match CLI when creating invalid
storage group (#7541)
b31ed747b6 is described below
commit b31ed747b6375308cf0356439574dc80c38b6091
Author: CloudWise-Lukemiao
<[email protected]>
AuthorDate: Sat Oct 8 14:55:58 2022 +0800
[IOTDB-4490] Msg does not match CLI when creating invalid storage group
(#7541)
---
.../iotdb/db/protocol/mpprest/handler/ExceptionHandler.java | 13 ++++++++++++-
.../iotdb/db/protocol/mpprest/impl/RestApiServiceImpl.java | 12 ++++++------
2 files changed, 18 insertions(+), 7 deletions(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/protocol/mpprest/handler/ExceptionHandler.java
b/server/src/main/java/org/apache/iotdb/db/protocol/mpprest/handler/ExceptionHandler.java
index 40e749d0d1..f1c27ddb13 100644
---
a/server/src/main/java/org/apache/iotdb/db/protocol/mpprest/handler/ExceptionHandler.java
+++
b/server/src/main/java/org/apache/iotdb/db/protocol/mpprest/handler/ExceptionHandler.java
@@ -24,9 +24,12 @@ import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.db.exception.StorageEngineException;
import org.apache.iotdb.db.exception.metadata.StorageGroupNotSetException;
import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.exception.sql.SQLParserException;
+import org.apache.iotdb.db.exception.sql.StatementAnalyzeException;
import org.apache.iotdb.db.protocol.mpprest.model.ExecutionStatus;
import org.apache.iotdb.rpc.TSStatusCode;
+import org.antlr.v4.runtime.misc.ParseCancellationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -62,7 +65,15 @@ public class ExceptionHandler {
} else if (e instanceof IoTDBException) {
responseResult.setMessage(e.getMessage());
responseResult.setCode(((IoTDBException) e).getErrorCode());
- } else if (!(e instanceof IOException) && !(e instanceof
NullPointerException)) {
+ } else if (e instanceof ParseCancellationException) {
+ responseResult.setMessage(e.getMessage());
+ responseResult.setCode(TSStatusCode.SQL_PARSE_ERROR.getStatusCode());
+ } else if (e instanceof SQLParserException) {
+ responseResult.setMessage(e.getMessage());
+ responseResult.setCode(TSStatusCode.METADATA_ERROR.getStatusCode());
+ } else if (!(e instanceof IOException)
+ && !(e instanceof NullPointerException)
+ && !(e instanceof StatementAnalyzeException)) {
responseResult.setMessage(e.getMessage());
responseResult.setCode(TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode());
} else {
diff --git
a/server/src/main/java/org/apache/iotdb/db/protocol/mpprest/impl/RestApiServiceImpl.java
b/server/src/main/java/org/apache/iotdb/db/protocol/mpprest/impl/RestApiServiceImpl.java
index f53624e332..f8c2643d16 100644
---
a/server/src/main/java/org/apache/iotdb/db/protocol/mpprest/impl/RestApiServiceImpl.java
+++
b/server/src/main/java/org/apache/iotdb/db/protocol/mpprest/impl/RestApiServiceImpl.java
@@ -106,8 +106,8 @@ public class RestApiServiceImpl extends RestApiService {
.code(TSStatusCode.SUCCESS_STATUS.getStatusCode())
.message(TSStatusCode.SUCCESS_STATUS.name())
: new ExecutionStatus()
-
.code(TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode())
- .message(TSStatusCode.EXECUTE_STATEMENT_ERROR.name()))
+ .code(result.status.getCode())
+ .message(result.status.getMessage()))
.build();
} catch (Exception e) {
return
Response.ok().entity(ExceptionHandler.tryCatchException(e)).build();
@@ -141,8 +141,8 @@ public class RestApiServiceImpl extends RestApiService {
return Response.ok()
.entity(
new ExecutionStatus()
- .code(TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode())
- .message(TSStatusCode.EXECUTE_STATEMENT_ERROR.name()))
+ .code(result.status.getCode())
+ .message(result.status.getMessage()))
.build();
}
IQueryExecution queryExecution = COORDINATOR.getQueryExecution(queryId);
@@ -190,8 +190,8 @@ public class RestApiServiceImpl extends RestApiService {
.code(TSStatusCode.SUCCESS_STATUS.getStatusCode())
.message(TSStatusCode.SUCCESS_STATUS.name())
: new ExecutionStatus()
-
.code(TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode())
- .message(TSStatusCode.EXECUTE_STATEMENT_ERROR.name()))
+ .code(result.status.getCode())
+ .message(result.status.getMessage()))
.build();
} catch (Exception e) {
return
Response.ok().entity(ExceptionHandler.tryCatchException(e)).build();