This is an automated email from the ASF dual-hosted git repository.
rong 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 e2fb98017e2 [IOTDB-5980] Pipe: drop not existed pipe will return
successful result (#10088)
e2fb98017e2 is described below
commit e2fb98017e2bd5a06391b7af3add62c5a03b69a0
Author: yschengzi <[email protected]>
AuthorDate: Fri Jun 9 15:38:46 2023 +0800
[IOTDB-5980] Pipe: drop not existed pipe will return successful result
(#10088)
---
.../confignode/manager/pipe/task/PipeTaskCoordinator.java | 12 +++++++++++-
.../iotdb/confignode/persistence/pipe/PipeTaskInfo.java | 2 +-
.../src/main/java/org/apache/iotdb/rpc/TSStatusCode.java | 1 +
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/task/PipeTaskCoordinator.java
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/task/PipeTaskCoordinator.java
index 573c1cb1a80..6f47bded042 100644
---
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/task/PipeTaskCoordinator.java
+++
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/task/PipeTaskCoordinator.java
@@ -27,6 +27,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TCreatePipeReq;
import org.apache.iotdb.confignode.rpc.thrift.TGetAllPipeInfoResp;
import org.apache.iotdb.confignode.rpc.thrift.TShowPipeReq;
import org.apache.iotdb.confignode.rpc.thrift.TShowPipeResp;
+import org.apache.iotdb.rpc.RpcUtils;
import org.apache.iotdb.rpc.TSStatusCode;
import org.slf4j.Logger;
@@ -72,7 +73,16 @@ public class PipeTaskCoordinator {
}
public TSStatus dropPipe(String pipeName) {
- return configManager.getProcedureManager().dropPipe(pipeName);
+ TSStatus status = configManager.getProcedureManager().dropPipe(pipeName);
+ if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+ LOGGER.warn(String.format("Failed to drop pipe %s. Result status: %s.",
pipeName, status));
+ }
+ return pipeTaskInfo.isPipeExisted(pipeName)
+ ? status
+ : RpcUtils.getStatus(
+ TSStatusCode.PIPE_NOT_EXIST_ERROR,
+ String.format(
+ "Failed to drop pipe %s. Failures: %s does not exist.",
pipeName, pipeName));
}
public TShowPipeResp showPipes(TShowPipeReq req) {
diff --git
a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipeTaskInfo.java
b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipeTaskInfo.java
index d2580f87a1d..46940fc239b 100644
---
a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipeTaskInfo.java
+++
b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipeTaskInfo.java
@@ -145,7 +145,7 @@ public class PipeTaskInfo implements SnapshotProcessor {
// DO NOTHING HERE!
}
- private boolean isPipeExisted(String pipeName) {
+ public boolean isPipeExisted(String pipeName) {
return pipeMetaKeeper.containsPipeMeta(pipeName);
}
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
b/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
index e3092d072fa..56bfd4a78aa 100644
---
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
+++
b/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
@@ -216,6 +216,7 @@ public enum TSStatusCode {
PIPE_TRANSFER_FILE_OFFSET_RESET(1803),
PIPE_TRANSFER_FILE_ERROR(1804),
PIPE_TRANSFER_EXECUTE_STATEMENT_ERROR(1805),
+ PIPE_NOT_EXIST_ERROR(1806),
;
private final int statusCode;