From 6f42ae9c3cdc594e5dbf26da832aae070ddd5abd Mon Sep 17 00:00:00 2001 From: Caideyipi <87789683+Caideyipi@users.noreply.github.com> Date: Fri, 10 Apr 2026 17:56:55 +0800 Subject: [PATCH] [To dev/1.3] Subscription: Fixed the retry bug of procedures & Pipe: Deleted some useless codes (#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 07bbe2c014c42..0b246ac4ef7d5 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 @@ protected Flow executeFromState(ConfigNodeProcedureEnv env, OperateSubscriptionS 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 5210b98607f71..d370bff2798bb 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 @@ private TSStatus visitGeneralCreateTimeSeries(final Statement statement, final T @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 TSStatus visitActivateTemplate( @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); }