This is an automated email from the ASF dual-hosted git repository.

justinchen pushed a commit to branch retry-fix
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/retry-fix by this push:
     new 53a9858ef35 fix (#17455)
53a9858ef35 is described below

commit 53a9858ef35fe8f62ef65fbac8782d885ce20a63
Author: Caideyipi <[email protected]>
AuthorDate: Fri Apr 10 17:56:55 2026 +0800

    fix (#17455)
---
 .../AbstractOperateSubscriptionProcedure.java      |  1 +
 .../visitor/PipeStatementTSStatusVisitor.java      | 30 +++-------------------
 2 files changed, 4 insertions(+), 27 deletions(-)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/AbstractOperateSubscriptionProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/AbstractOperateSubscriptionProcedure.java
index 07bbe2c014c..0b246ac4ef7 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/AbstractOperateSubscriptionProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/AbstractOperateSubscriptionProcedure.java
@@ -224,6 +224,7 @@ public abstract class AbstractOperateSubscriptionProcedure
             getCycles() + 1,
             RETRY_THRESHOLD,
             e);
+        setNextState(getCurrentState());
         // Wait 3s for next retry
         TimeUnit.MILLISECONDS.sleep(3000L);
       } else {
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementTSStatusVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementTSStatusVisitor.java
index 5210b98607f..d370bff2798 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementTSStatusVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementTSStatusVisitor.java
@@ -167,34 +167,21 @@ public class PipeStatementTSStatusVisitor extends 
StatementVisitor<TSStatus, TSS
   @Override
   public TSStatus visitCreateMultiTimeSeries(
       final CreateMultiTimeSeriesStatement createMultiTimeSeriesStatement, 
final TSStatus status) {
-    return visitGeneralCreateMultiTimeSeries(createMultiTimeSeriesStatement, 
status);
+    return visitGeneralCreateTimeSeries(createMultiTimeSeriesStatement, 
status);
   }
 
   @Override
   public TSStatus visitInternalCreateTimeseries(
       final InternalCreateTimeSeriesStatement 
internalCreateTimeSeriesStatement,
       final TSStatus status) {
-    return 
visitGeneralCreateMultiTimeSeries(internalCreateTimeSeriesStatement, status);
+    return visitGeneralCreateTimeSeries(internalCreateTimeSeriesStatement, 
status);
   }
 
   @Override
   public TSStatus visitInternalCreateMultiTimeSeries(
       final InternalCreateMultiTimeSeriesStatement 
internalCreateMultiTimeSeriesStatement,
       final TSStatus status) {
-    return 
visitGeneralCreateMultiTimeSeries(internalCreateMultiTimeSeriesStatement, 
status);
-  }
-
-  private TSStatus visitGeneralCreateMultiTimeSeries(
-      final Statement statement, final TSStatus status) {
-    if (status.getCode() == 
TSStatusCode.TIMESERIES_ALREADY_EXIST.getStatusCode()
-        || status.getCode() == 
TSStatusCode.ALIAS_ALREADY_EXIST.getStatusCode()) {
-      return new 
TSStatus(TSStatusCode.PIPE_RECEIVER_IDEMPOTENT_CONFLICT_EXCEPTION.getStatusCode())
-          .setMessage(status.getMessage());
-    } else if (status.getCode() == 
TSStatusCode.SCHEMA_QUOTA_EXCEEDED.getStatusCode()) {
-      return new 
TSStatus(TSStatusCode.PIPE_RECEIVER_USER_CONFLICT_EXCEPTION.getStatusCode())
-          .setMessage(status.getMessage());
-    }
-    return visitStatement(statement, status);
+    return 
visitGeneralCreateTimeSeries(internalCreateMultiTimeSeriesStatement, status);
   }
 
   @Override
@@ -235,17 +222,6 @@ public class PipeStatementTSStatusVisitor extends 
StatementVisitor<TSStatus, TSS
   @Override
   public TSStatus visitBatchActivateTemplate(
       final BatchActivateTemplateStatement batchActivateTemplateStatement, 
final TSStatus status) {
-    if (status.getCode() == TSStatusCode.TEMPLATE_IS_IN_USE.getStatusCode()) {
-      return new 
TSStatus(TSStatusCode.PIPE_RECEIVER_IDEMPOTENT_CONFLICT_EXCEPTION.getStatusCode())
-          .setMessage(status.getMessage());
-    }
-    if (status.getCode() == TSStatusCode.METADATA_ERROR.getStatusCode()
-        && status.isSetMessage()
-        && status.getMessage().contains("has not been set any template")) {
-      return new TSStatus(
-              
TSStatusCode.PIPE_RECEIVER_PARALLEL_OR_USER_CONFLICT_EXCEPTION.getStatusCode())
-          .setMessage(status.getMessage());
-    }
     return visitGeneralActivateTemplate(batchActivateTemplateStatement, 
status);
   }
 

Reply via email to