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);
}