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

jackietien pushed a commit to branch ty/object_type
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 40aa59a2fa88e9901203841307db2efaf0c0dd1d
Author: Caideyipi <[email protected]>
AuthorDate: Wed Nov 26 17:52:44 2025 +0800

    may_fix (#16814)
    
    (cherry picked from commit d99740860c26767905982b13bc1a755e38ea3c3c)
---
 .../db/pipe/receiver/protocol/thrift/IoTDBDataNodeReceiver.java   | 4 ++--
 .../db/pipe/receiver/visitor/PipeStatementExceptionVisitor.java   | 8 +++++++-
 .../db/pipe/receiver/visitor/PipeStatementTSStatusVisitor.java    | 3 ++-
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/thrift/IoTDBDataNodeReceiver.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/thrift/IoTDBDataNodeReceiver.java
index 4d4bf7b3926..bedd7fbe96a 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/thrift/IoTDBDataNodeReceiver.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/thrift/IoTDBDataNodeReceiver.java
@@ -847,10 +847,10 @@ public class IoTDBDataNodeReceiver extends 
IoTDBFileReceiver {
     } catch (final Exception e) {
       PipeLogger.log(
           LOGGER::warn,
+          e,
           "Receiver id = %s: Exception encountered while executing statement 
%s: ",
           receiverId.get(),
-          statement.getPipeLoggingString(),
-          e);
+          statement.getPipeLoggingString());
       return statement.accept(STATEMENT_EXCEPTION_VISITOR, e);
     } finally {
       if (Objects.nonNull(allocatedMemoryBlock)) {
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementExceptionVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementExceptionVisitor.java
index 5a55f435b95..5b57b240314 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementExceptionVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementExceptionVisitor.java
@@ -39,6 +39,8 @@ import 
org.apache.iotdb.db.queryengine.plan.statement.metadata.template.Activate
 import 
org.apache.iotdb.db.queryengine.plan.statement.metadata.template.BatchActivateTemplateStatement;
 import org.apache.iotdb.rpc.TSStatusCode;
 
+import java.util.Objects;
+
 /**
  * This visitor translated some exceptions to pipe related {@link TSStatus} to 
help sender classify
  * them and apply different error handling tactics. Please DO NOT modify the 
exceptions returned by
@@ -130,7 +132,11 @@ public class PipeStatementExceptionVisitor extends 
StatementVisitor<TSStatus, Ex
   private TSStatus visitGeneralActivateTemplate(
       final Statement activateTemplateStatement, final Exception context) {
     if (context instanceof MetadataException || context instanceof 
StatementAnalyzeException) {
-      return new 
TSStatus(TSStatusCode.PIPE_RECEIVER_USER_CONFLICT_EXCEPTION.getStatusCode())
+      return (Objects.nonNull(context.getMessage())
+                  && context.getMessage().contains("has not been set any 
template")
+              ? new TSStatus(
+                  
TSStatusCode.PIPE_RECEIVER_PARALLEL_OR_USER_CONFLICT_EXCEPTION.getStatusCode())
+              : new 
TSStatus(TSStatusCode.PIPE_RECEIVER_USER_CONFLICT_EXCEPTION.getStatusCode()))
           .setMessage(context.getMessage());
     } else if (isAutoCreateConflict(context)) {
       return new 
TSStatus(TSStatusCode.PIPE_RECEIVER_USER_CONFLICT_EXCEPTION.getStatusCode())
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 198e8edb677..7d1b08b1238 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
@@ -270,7 +270,8 @@ public class PipeStatementTSStatusVisitor extends 
StatementVisitor<TSStatus, TSS
     if (context.getCode() == TSStatusCode.METADATA_ERROR.getStatusCode()
         && context.isSetMessage()
         && context.getMessage().contains("has not been set any template")) {
-      return new 
TSStatus(TSStatusCode.PIPE_RECEIVER_USER_CONFLICT_EXCEPTION.getStatusCode())
+      return new TSStatus(
+              
TSStatusCode.PIPE_RECEIVER_PARALLEL_OR_USER_CONFLICT_EXCEPTION.getStatusCode())
           .setMessage(context.getMessage());
     }
     return visitStatement(activateTemplateStatement, context);

Reply via email to