This is an automated email from the ASF dual-hosted git repository. qiaojialin pushed a commit to branch add_status_in_exception in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 46bd486e4a4c81604b4e6e174a2eec2510c0ea47 Author: qiaojialin <[email protected]> AuthorDate: Tue May 26 15:06:55 2020 +0800 add status code in exception --- .../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 +++++++++++++ 5 files changed, 22 insertions(+), 7 deletions(-) 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; + } }
