You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/05/26 11:14:32 UTC
[incubator-iotdb] branch master updated: add status code in
exception (#1266)
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 5a5e36f add status code in exception (#1266)
5a5e36f is described below
commit 5a5e36f93fd8052ca5f34a102c6a834b30012f40
Author: Jialin Qiao <qj...@mails.tsinghua.edu.cn>
AuthorDate: Tue May 26 19:14:23 2020 +0800
add status code in exception (#1266)
* add status code in exception
---
docs/UserGuide/Client/Status Codes.md | 4 ++--
docs/zh/UserGuide/Client/Status Codes.md | 4 ++--
.../src/main/java/org/apache/iotdb/SessionExample.java | 5 +++--
.../iotdb/db/exception/metadata/MetadataException.java | 3 +--
.../exception/metadata/StorageGroupAlreadySetException.java | 5 ++++-
.../src/main/java/org/apache/iotdb/rpc/RpcUtils.java | 3 +--
.../org/apache/iotdb/rpc/StatementExecutionException.java | 13 +++++++++++++
7 files changed, 26 insertions(+), 11 deletions(-)
diff --git a/docs/UserGuide/Client/Status Codes.md b/docs/UserGuide/Client/Status Codes.md
index d59c4a6..eafdd0b 100644
--- a/docs/UserGuide/Client/Status Codes.md
+++ b/docs/UserGuide/Client/Status Codes.md
@@ -50,8 +50,8 @@ Here is a list of Status Code and related message:
|203|INCOMPATIBLE_VERSION|Incompatible version|
|298|NODE_DELETE_FAILED_ERROR|Failed while deleting node|
|299|ALIAS_ALREADY_EXIST_ERROR|Alias already exists|
-|300|TIMESERIES_ALREADY_EXIST_ERROR|Timeseries already exists|
-|301|TIMESERIES_NOT_EXIST_ERROR|Timeseries does not exist|
+|300|PATH_ALREADY_EXIST_ERROR|Path already exists|
+|301|PATH_NOT_EXIST_ERROR|Path does not exist|
|302|UNSUPPORTED_FETCH_METADATA_OPERATION_ERROR|Unsupported fetch metadata operation|
|303|METADATA_ERROR|Meet error when dealing with metadata|
|305|OUT_OF_TTL_ERROR|Insertion time is less than TTL time bound|
diff --git a/docs/zh/UserGuide/Client/Status Codes.md b/docs/zh/UserGuide/Client/Status Codes.md
index 61c1e66..de81671 100644
--- a/docs/zh/UserGuide/Client/Status Codes.md
+++ b/docs/zh/UserGuide/Client/Status Codes.md
@@ -50,8 +50,8 @@ try {
|203|INCOMPATIBLE_VERSION|版本不兼容|
|298|NODE_DELETE_FAILED_ERROR|删除节点失败|
|299|ALIAS_ALREADY_EXIST_ERROR|路径别名已经存在|
-|300|TIMESERIES_ALREADY_EXIST_ERROR|时间序列已经存在|
-|301|TIMESERIES_NOT_EXIST_ERROR|时间序列不存在|
+|300|PATH_ALREADY_EXIST_ERROR|路径已经存在|
+|301|PATH_NOT_EXIST_ERROR|路径不存在|
|302|UNSUPPORTED_FETCH_METADATA_OPERATION_ERROR|不支持的获取元数据操作|
|303|METADATA_ERROR|处理元数据错误|
|305|OUT_OF_TTL_ERROR|插入时间少于TTL时间边界|
diff --git a/example/session/src/main/java/org/apache/iotdb/SessionExample.java b/example/session/src/main/java/org/apache/iotdb/SessionExample.java
index d28faf6..c677c89 100644
--- a/example/session/src/main/java/org/apache/iotdb/SessionExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/SessionExample.java
@@ -25,6 +25,8 @@ import java.util.Map;
import org.apache.iotdb.rpc.BatchExecutionException;
import org.apache.iotdb.rpc.IoTDBConnectionException;
import org.apache.iotdb.rpc.StatementExecutionException;
+import org.apache.iotdb.rpc.TSStatusCode;
+import org.apache.iotdb.service.rpc.thrift.TSStatus;
import org.apache.iotdb.session.Session;
import org.apache.iotdb.session.SessionDataSet;
import org.apache.iotdb.session.SessionDataSet.DataIterator;
@@ -46,9 +48,8 @@ public class SessionExample {
try {
session.setStorageGroup("root.sg1");
} catch (StatementExecutionException e) {
- if (!e.getMessage().contains("StorageGroupAlreadySetException")) {
+ if (e.getStatusCode() != TSStatusCode.PATH_ALREADY_EXIST_ERROR.getStatusCode())
throw e;
- }
}
createTimeseries();
diff --git a/server/src/main/java/org/apache/iotdb/db/exception/metadata/MetadataException.java b/server/src/main/java/org/apache/iotdb/db/exception/metadata/MetadataException.java
index b498219..4f220ff 100644
--- a/server/src/main/java/org/apache/iotdb/db/exception/metadata/MetadataException.java
+++ b/server/src/main/java/org/apache/iotdb/db/exception/metadata/MetadataException.java
@@ -34,8 +34,7 @@ public class MetadataException extends IoTDBException {
}
public MetadataException(Throwable cause, int errorCode) {
- super(cause, TSStatusCode.METADATA_ERROR.getStatusCode());
- this.errorCode = errorCode;
+ super(cause, errorCode);
}
public MetadataException(String msg) {
diff --git a/server/src/main/java/org/apache/iotdb/db/exception/metadata/StorageGroupAlreadySetException.java b/server/src/main/java/org/apache/iotdb/db/exception/metadata/StorageGroupAlreadySetException.java
index b196309..86c5695 100644
--- a/server/src/main/java/org/apache/iotdb/db/exception/metadata/StorageGroupAlreadySetException.java
+++ b/server/src/main/java/org/apache/iotdb/db/exception/metadata/StorageGroupAlreadySetException.java
@@ -19,11 +19,14 @@
package org.apache.iotdb.db.exception.metadata;
+import org.apache.iotdb.rpc.TSStatusCode;
+
public class StorageGroupAlreadySetException extends MetadataException {
private static final long serialVersionUID = 9110669164701929779L;
public StorageGroupAlreadySetException(String path) {
- super(String.format("%s has already been set to storage group", path));
+ super(String.format("%s has already been set to storage group", path),
+ TSStatusCode.PATH_ALREADY_EXIST_ERROR.getStatusCode());
}
}
diff --git a/service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java b/service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java
index df2761e..db84839 100644
--- a/service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java
+++ b/service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java
@@ -42,8 +42,7 @@ public class RpcUtils {
*/
public static void verifySuccess(TSStatus status) throws StatementExecutionException {
if (status.code != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
- throw new StatementExecutionException(String.format("%d: %s",
- status.code, status.message));
+ throw new StatementExecutionException(status);
}
}
diff --git a/service-rpc/src/main/java/org/apache/iotdb/rpc/StatementExecutionException.java b/service-rpc/src/main/java/org/apache/iotdb/rpc/StatementExecutionException.java
index d7e09fc..bf1993d 100644
--- a/service-rpc/src/main/java/org/apache/iotdb/rpc/StatementExecutionException.java
+++ b/service-rpc/src/main/java/org/apache/iotdb/rpc/StatementExecutionException.java
@@ -18,8 +18,17 @@
*/
package org.apache.iotdb.rpc;
+import org.apache.iotdb.service.rpc.thrift.TSStatus;
+
public class StatementExecutionException extends Exception{
+ private int statusCode;
+
+ public StatementExecutionException(TSStatus status) {
+ super(String.format("%d: %s", status.code, status.message));
+ this.statusCode = status.code;
+ }
+
public StatementExecutionException(String reason) {
super(reason);
}
@@ -31,4 +40,8 @@ public class StatementExecutionException extends Exception{
public StatementExecutionException(String message, Throwable cause) {
super(message, cause);
}
+
+ public int getStatusCode() {
+ return statusCode;
+ }
}