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

jt2594838 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 5aad9323c71 Reduce pipe type conversion log frequency (#18161)
5aad9323c71 is described below

commit 5aad9323c71ef5fdfd25b924dba010f37fb94ed9
Author: Caideyipi <[email protected]>
AuthorDate: Thu Jul 9 17:49:59 2026 +0800

    Reduce pipe type conversion log frequency (#18161)
---
 .../iotdb/confignode/i18n/ManagerMessages.java     | 17 +++++++
 .../iotdb/confignode/i18n/ManagerMessages.java     | 17 +++++++
 .../iotdb/confignode/manager/ClusterManager.java   |  3 +-
 .../iotdb/confignode/manager/node/NodeManager.java |  2 +-
 .../manager/partition/PartitionManager.java        | 26 ++++++----
 .../receiver/protocol/IoTDBConfigNodeReceiver.java |  8 +--
 .../manager/schema/ClusterSchemaManager.java       |  4 +-
 .../procedure/impl/cq/CreateCQProcedure.java       |  2 +-
 .../impl/schema/DeactivateTemplateProcedure.java   |  2 +-
 .../impl/schema/DeleteLogicalViewProcedure.java    |  2 +-
 .../impl/schema/DeleteTimeSeriesProcedure.java     |  2 +-
 .../impl/schema/SetTemplateProcedure.java          |  2 +-
 .../impl/sync/AuthOperationProcedure.java          |  2 +-
 .../apache/iotdb/db/i18n/DataNodePipeMessages.java | 57 ++++++++++++++++++++++
 .../apache/iotdb/db/i18n/DataNodePipeMessages.java | 52 ++++++++++++++++++++
 .../subtask/processor/PipeProcessorSubtask.java    |  4 +-
 .../common/tsfile/PipeTsFileInsertionEvent.java    |  7 ++-
 .../protocol/thrift/IoTDBDataNodeReceiver.java     | 23 +++++----
 .../statement/PipeConvertedInsertRowStatement.java | 30 ++++++------
 .../PipeConvertedInsertTabletStatement.java        | 14 +++---
 ...leStatementDataTypeConvertExecutionVisitor.java | 16 ++++--
 ...eeStatementDataTypeConvertExecutionVisitor.java |  9 +++-
 .../client/IoTDBDataNodeAsyncClientManager.java    | 11 ++---
 .../iotconsensusv2/IoTConsensusV2AsyncSink.java    | 16 +++---
 .../handler/IoTConsensusV2DeleteEventHandler.java  |  2 +-
 .../IoTConsensusV2TabletBatchEventHandler.java     |  2 +-
 .../IoTConsensusV2TabletInsertionEventHandler.java |  2 +-
 .../IoTConsensusV2TsFileInsertionEventHandler.java |  2 +-
 .../db/pipe/sink/protocol/opcua/OpcUaSink.java     |  3 +-
 .../protocol/opcua/client/IoTDBOpcUaClient.java    |  2 +-
 .../sink/protocol/opcua/server/OpcUaNameSpace.java |  2 +-
 .../thrift/async/IoTDBDataRegionAsyncSink.java     |  6 +--
 .../PipeTransferTabletBatchEventHandler.java       |  2 +-
 .../PipeTransferTabletInsertionEventHandler.java   |  2 +-
 .../handler/PipeTransferTrackableHandler.java      |  4 +-
 .../async/handler/PipeTransferTsFileHandler.java   |  8 +--
 .../sink/protocol/writeback/WriteBackSink.java     |  2 +-
 37 files changed, 273 insertions(+), 94 deletions(-)

diff --git 
a/iotdb-core/confignode/src/main/i18n/en/org/apache/iotdb/confignode/i18n/ManagerMessages.java
 
b/iotdb-core/confignode/src/main/i18n/en/org/apache/iotdb/confignode/i18n/ManagerMessages.java
index 082fcd9439b..20316edc397 100644
--- 
a/iotdb-core/confignode/src/main/i18n/en/org/apache/iotdb/confignode/i18n/ManagerMessages.java
+++ 
b/iotdb-core/confignode/src/main/i18n/en/org/apache/iotdb/confignode/i18n/ManagerMessages.java
@@ -49,6 +49,17 @@ public final class ManagerMessages {
       "[CreateRegionGroups] Starting to create the following RegionGroups:";
   public static final String CREATE_DATAPARTITION_FAILED_BECAUSE =
       "Create DataPartition failed because: ";
+  public static final String
+      DATAPARTITIONTABLEINTEGRITYCHECKPROCEDURE_IS_ALREADY_SUBMITTED =
+          "DataPartitionTableIntegrityCheckProcedure is already submitted.";
+  public static final String
+      
LACKED_DATAPARTITION_ALLOCATION_RESULT_WHEN_GET_OR_CREATE_DATA_PARTITIONS_FOR_DATABASES
 =
+          "Lacked %d/%d DataPartition allocation result when get or create 
data partitions for databases: %s";
+  public static final String 
NO_RUNNING_DATAPARTITIONTABLE_INTEGRITY_CHECK_PROCEDURE =
+      "No running DataPartitionTable integrity check procedure";
+  public static final String
+      
LACKED_SCHEMAPARTITION_ALLOCATION_RESULT_WHEN_GET_OR_CREATE_SCHEMA_PARTITIONS_FOR_DATABASES
 =
+          "Lacked %d/%d SchemaPartition allocation result when get or create 
schema partitions for databases: %s";
   public static final String CREATE_SCHEMAPARTITION_FAILED_BECAUSE =
       "Create SchemaPartition failed because: ";
   public static final String DATABASE_DOESN_T_EXIST = "Database: {} doesn't 
exist";
@@ -277,6 +288,8 @@ public final class ManagerMessages {
       "LoadStatistics service is stopped successfully.";
   public static final String 
MIGRATEREGION_SUBMIT_REGIONMIGRATEPROCEDURE_SUCCESSFULLY_REGION_ORIGIN_DATANODE 
=
       "[MigrateRegion] Submit RegionMigrateProcedure successfully, Region: {}, 
Origin DataNode: {}, Dest DataNode: {}, Add Coordinator: {}, Remove 
Coordinator: {}";
+  public static final String 
SUBMIT_REGIONMIGRATEPROCEDURE_FAILED_BECAUSE_REGIONGROUP_DOESN_T_EXIST =
+      "Submit RegionMigrateProcedure failed, because RegionGroup: %s doesn't 
exist";
   public static final String 
MISMATCHED_CRC32_CODE_WHEN_DESERIALIZING_SERVICE_INFO =
       "Mismatched CRC32 code when deserializing service info.";
   public static final String 
NETWORK_ERROR_WHEN_SEAL_CONFIG_REGION_SNAPSHOT_BECAUSE =
@@ -357,6 +370,10 @@ public final class ManagerMessages {
       "Receiver id = {}: Failure status encountered while executing plan {}: 
{}";
   public static final String 
RECEIVER_ID_PERMISSION_CHECK_FAILED_WHILE_EXECUTING_PLAN =
       "Receiver id = {}: Permission check failed while executing plan {}: {}";
+  public static final String UNSUPPORTED_PIPEREQUESTTYPE_ON_CONFIGNODE =
+      "Unsupported PipeRequestType on ConfigNode %s.";
+  public static final String 
EXCEPTION_ENCOUNTERED_WHILE_HANDLING_PIPE_TRANSFER_REQUEST =
+      "Exception encountered while handling pipe transfer request. Root cause: 
%s";
   public static final String 
RECEIVER_ID_UNSUPPORTED_PIPEREQUESTTYPE_ON_CONFIGNODE_RESPONSE_STATUS =
       "Receiver id = {}: Unsupported PipeRequestType on ConfigNode, response 
status = {}.";
   public static final String 
RECONSTRUCTREGION_SUBMIT_RECONSTRUCTREGIONPROCEDURE_SUCCESSFULLY =
diff --git 
a/iotdb-core/confignode/src/main/i18n/zh/org/apache/iotdb/confignode/i18n/ManagerMessages.java
 
b/iotdb-core/confignode/src/main/i18n/zh/org/apache/iotdb/confignode/i18n/ManagerMessages.java
index 072c2b728a2..8dc9afd1e8b 100644
--- 
a/iotdb-core/confignode/src/main/i18n/zh/org/apache/iotdb/confignode/i18n/ManagerMessages.java
+++ 
b/iotdb-core/confignode/src/main/i18n/zh/org/apache/iotdb/confignode/i18n/ManagerMessages.java
@@ -49,6 +49,17 @@ public final class ManagerMessages {
       "[CreateRegionGroups] 开始创建以下 RegionGroup:";
   public static final String CREATE_DATAPARTITION_FAILED_BECAUSE =
       "创建 DataPartition 失败,原因:";
+  public static final String
+      DATAPARTITIONTABLEINTEGRITYCHECKPROCEDURE_IS_ALREADY_SUBMITTED =
+          "DataPartitionTableIntegrityCheckProcedure 已提交。";
+  public static final String
+      
LACKED_DATAPARTITION_ALLOCATION_RESULT_WHEN_GET_OR_CREATE_DATA_PARTITIONS_FOR_DATABASES
 =
+          "获取或创建数据库的数据分区时缺少 %d/%d 个 DataPartition 分配结果,数据库:%s";
+  public static final String 
NO_RUNNING_DATAPARTITIONTABLE_INTEGRITY_CHECK_PROCEDURE =
+      "没有正在运行的 DataPartitionTable 完整性检查流程";
+  public static final String
+      
LACKED_SCHEMAPARTITION_ALLOCATION_RESULT_WHEN_GET_OR_CREATE_SCHEMA_PARTITIONS_FOR_DATABASES
 =
+          "获取或创建数据库的模式分区时缺少 %d/%d 个 SchemaPartition 分配结果,数据库:%s";
   public static final String CREATE_SCHEMAPARTITION_FAILED_BECAUSE =
       "创建 SchemaPartition 失败,原因:";
   public static final String DATABASE_DOESN_T_EXIST = "Database: {} 不存在";
@@ -275,6 +286,8 @@ public final class ManagerMessages {
       "LoadStatistics 服务已成功停止。";
   public static final String 
MIGRATEREGION_SUBMIT_REGIONMIGRATEPROCEDURE_SUCCESSFULLY_REGION_ORIGIN_DATANODE 
=
       "[MigrateRegion] 成功提交 RegionMigrateProcedure,Region:{},原 DataNode:{},目标 
DataNode:{},新增 Coordinator:{},移除 Coordinator:{}";
+  public static final String 
SUBMIT_REGIONMIGRATEPROCEDURE_FAILED_BECAUSE_REGIONGROUP_DOESN_T_EXIST =
+      "提交 RegionMigrateProcedure 失败,因为 RegionGroup:%s 不存在";
   public static final String 
MISMATCHED_CRC32_CODE_WHEN_DESERIALIZING_SERVICE_INFO =
       "反序列化 service info 时 CRC32 码不匹配。";
   public static final String 
NETWORK_ERROR_WHEN_SEAL_CONFIG_REGION_SNAPSHOT_BECAUSE =
@@ -352,6 +365,10 @@ public final class ManagerMessages {
       "Receiver id = {}: 执行计划 {} 时遇到失败状态:{}";
   public static final String 
RECEIVER_ID_PERMISSION_CHECK_FAILED_WHILE_EXECUTING_PLAN =
       "Receiver id = {}: 执行计划 {} 时权限检查失败:{}";
+  public static final String UNSUPPORTED_PIPEREQUESTTYPE_ON_CONFIGNODE =
+      "ConfigNode 上不支持的 PipeRequestType %s。";
+  public static final String 
EXCEPTION_ENCOUNTERED_WHILE_HANDLING_PIPE_TRANSFER_REQUEST =
+      "处理 pipe transfer 请求时遇到异常。根因:%s";
   public static final String 
RECEIVER_ID_UNSUPPORTED_PIPEREQUESTTYPE_ON_CONFIGNODE_RESPONSE_STATUS =
       "Receiver id = {}: ConfigNode 上不支持的 PipeRequestType,响应状态 = {}。";
   public static final String 
RECONSTRUCTREGION_SUBMIT_RECONSTRUCTREGIONPROCEDURE_SUCCESSFULLY =
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterManager.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterManager.java
index 7faec232cab..790f09c08b9 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterManager.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterManager.java
@@ -40,6 +40,7 @@ import 
org.apache.iotdb.confignode.client.async.handlers.ConfigNodeAsyncRequestC
 import 
org.apache.iotdb.confignode.client.async.handlers.DataNodeAsyncRequestContext;
 import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
 import 
org.apache.iotdb.confignode.consensus.request.write.confignode.UpdateClusterIdPlan;
+import org.apache.iotdb.confignode.i18n.ConfigNodeMessages;
 import org.apache.iotdb.confignode.i18n.ManagerMessages;
 import org.apache.iotdb.confignode.persistence.ClusterInfo;
 import org.apache.iotdb.consensus.exception.ConsensusException;
@@ -64,7 +65,7 @@ public class ClusterManager {
   private final ClusterInfo clusterInfo;
 
   public static final String CONSENSUS_WRITE_ERROR =
-      "Failed in the write API executing the consensus layer due to: ";
+      
ConfigNodeMessages.FAILED_IN_THE_WRITE_API_EXECUTING_THE_CONSENSUS_LAYER_DUE;
 
   public ClusterManager(IManager configManager, ClusterInfo clusterInfo) {
     this.configManager = configManager;
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
index 6db027af546..13e476c0037 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
@@ -140,7 +140,7 @@ public class NodeManager {
   private final ReentrantLock removeConfigNodeLock;
 
   private static final String CONSENSUS_WRITE_ERROR =
-      "Failed in the write API executing the consensus layer due to: ";
+      
ConfigNodeMessages.FAILED_IN_THE_WRITE_API_EXECUTING_THE_CONSENSUS_LAYER_DUE;
 
   public static final int APPLY_CONFIG_LOCALLY = -2;
 
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
index 1cf416bedd7..156493f80e3 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
@@ -72,6 +72,7 @@ import 
org.apache.iotdb.confignode.consensus.response.partition.SchemaPartitionR
 import org.apache.iotdb.confignode.exception.DatabaseNotExistsException;
 import org.apache.iotdb.confignode.exception.NoAvailableRegionGroupException;
 import org.apache.iotdb.confignode.exception.NotEnoughDataNodeException;
+import org.apache.iotdb.confignode.i18n.ConfigNodeMessages;
 import org.apache.iotdb.confignode.i18n.ManagerMessages;
 import org.apache.iotdb.confignode.manager.IManager;
 import org.apache.iotdb.confignode.manager.ProcedureManager;
@@ -140,10 +141,10 @@ public class PartitionManager {
   private SeriesPartitionExecutor executor;
 
   private static final String CONSENSUS_READ_ERROR =
-      "Failed in the read API executing the consensus layer due to: ";
+      
ConfigNodeMessages.FAILED_IN_THE_READ_API_EXECUTING_THE_CONSENSUS_LAYER_DUE;
 
   public static final String CONSENSUS_WRITE_ERROR =
-      "Failed in the write API executing the consensus layer due to: ";
+      
ConfigNodeMessages.FAILED_IN_THE_WRITE_API_EXECUTING_THE_CONSENSUS_LAYER_DUE;
 
   // Monitor for leadership change
   private final Object scheduleMonitor = new Object();
@@ -347,8 +348,11 @@ public class PartitionManager {
 
       final String errMsg =
           String.format(
-              "Lacked %d/%d SchemaPartition allocation result when get or 
create schema partitions for databases: %s",
-              unassignedSlotNum.get(), totalSlotNum.get(), errDatabases);
+              ManagerMessages
+                  
.LACKED_SCHEMAPARTITION_ALLOCATION_RESULT_WHEN_GET_OR_CREATE_SCHEMA_PARTITIONS_FOR_DATABASES,
+              unassignedSlotNum.get(),
+              totalSlotNum.get(),
+              errDatabases);
       LOGGER.error(errMsg);
       resp.setStatus(
           new 
TSStatus(TSStatusCode.LACK_PARTITION_ALLOCATION.getStatusCode()).setMessage(errMsg));
@@ -511,8 +515,11 @@ public class PartitionManager {
 
       String errMsg =
           String.format(
-              "Lacked %d/%d DataPartition allocation result when get or create 
data partitions for databases: %s",
-              unassignedSlotNum.get(), totalSlotNum.get(), errDatabases);
+              ManagerMessages
+                  
.LACKED_DATAPARTITION_ALLOCATION_RESULT_WHEN_GET_OR_CREATE_DATA_PARTITIONS_FOR_DATABASES,
+              unassignedSlotNum.get(),
+              totalSlotNum.get(),
+              errDatabases);
       LOGGER.error(errMsg);
       resp.setStatus(
           new 
TSStatus(TSStatusCode.LACK_PARTITION_ALLOCATION.getStatusCode()).setMessage(errMsg));
@@ -529,7 +536,7 @@ public class PartitionManager {
         || 
!dataPartitionTableIntegrityCheckProcedureRunning.compareAndSet(false, true)) {
       return RpcUtils.getStatus(
           TSStatusCode.OVERLAP_WITH_EXISTING_TASK,
-          "DataPartitionTableIntegrityCheckProcedure is already submitted.");
+          
ManagerMessages.DATAPARTITIONTABLEINTEGRITYCHECKPROCEDURE_IS_ALREADY_SUBMITTED);
     }
 
     synchronized (this) {
@@ -555,7 +562,8 @@ public class PartitionManager {
                         RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS),
                         RepairDataPartitionTableProgressState.IDLE.name(),
                         0.0)
-                    .setMessage("No running DataPartitionTable integrity check 
procedure"));
+                    .setMessage(
+                        
ManagerMessages.NO_RUNNING_DATAPARTITIONTABLE_INTEGRITY_CHECK_PROCEDURE));
   }
 
   private TSStatus consensusWritePartitionResult(ConfigPhysicalPlan plan) {
@@ -1077,7 +1085,7 @@ public class PartitionManager {
     }
     String msg =
         String.format(
-            "Submit RegionMigrateProcedure failed, because RegionGroup: %s 
doesn't exist",
+            
ManagerMessages.SUBMIT_REGIONMIGRATEPROCEDURE_FAILED_BECAUSE_REGIONGROUP_DOESN_T_EXIST,
             regionId);
     LOGGER.warn(msg);
     return Optional.empty();
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/receiver/protocol/IoTDBConfigNodeReceiver.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/receiver/protocol/IoTDBConfigNodeReceiver.java
index f68f1f71ed8..281867d0ec5 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/receiver/protocol/IoTDBConfigNodeReceiver.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/receiver/protocol/IoTDBConfigNodeReceiver.java
@@ -258,7 +258,8 @@ public class IoTDBConfigNodeReceiver extends 
IoTDBFileReceiver {
       final TSStatus status =
           RpcUtils.getStatus(
               TSStatusCode.PIPE_TYPE_ERROR,
-              String.format("Unsupported PipeRequestType on ConfigNode %s.", 
rawRequestType));
+              String.format(
+                  ManagerMessages.UNSUPPORTED_PIPEREQUESTTYPE_ON_CONFIGNODE, 
rawRequestType));
       LOGGER.warn(
           
ManagerMessages.RECEIVER_ID_UNSUPPORTED_PIPEREQUESTTYPE_ON_CONFIGNODE_RESPONSE_STATUS,
           receiverId.get(),
@@ -266,8 +267,9 @@ public class IoTDBConfigNodeReceiver extends 
IoTDBFileReceiver {
       return new TPipeTransferResp(status);
     } catch (final Exception e) {
       final String error =
-          "Exception encountered while handling pipe transfer request. Root 
cause: "
-              + e.getMessage();
+          String.format(
+              
ManagerMessages.EXCEPTION_ENCOUNTERED_WHILE_HANDLING_PIPE_TRANSFER_REQUEST,
+              e.getMessage());
       LOGGER.warn(ManagerMessages.RECEIVER_ID, receiverId.get(), error, e);
       return new TPipeTransferResp(RpcUtils.getStatus(TSStatusCode.PIPE_ERROR, 
error));
     }
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java
index da8467ee900..a66b88f0a10 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java
@@ -150,10 +150,10 @@ public class ClusterSchemaManager {
   private final ReentrantLock createDatabaseLock = new ReentrantLock();
 
   private static final String CONSENSUS_READ_ERROR =
-      "Failed in the read API executing the consensus layer due to: ";
+      
ConfigNodeMessages.FAILED_IN_THE_READ_API_EXECUTING_THE_CONSENSUS_LAYER_DUE;
 
   private static final String CONSENSUS_WRITE_ERROR =
-      "Failed in the write API executing the consensus layer due to: ";
+      
ConfigNodeMessages.FAILED_IN_THE_WRITE_API_EXECUTING_THE_CONSENSUS_LAYER_DUE;
 
   public ClusterSchemaManager(
       final IManager configManager,
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/cq/CreateCQProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/cq/CreateCQProcedure.java
index 680b960e8e6..7066815ef14 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/cq/CreateCQProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/cq/CreateCQProcedure.java
@@ -70,7 +70,7 @@ public class CreateCQProcedure extends 
AbstractNodeProcedure<CreateCQState> {
   private long firstExecutionTime;
 
   private static final String CONSENSUS_WRITE_ERROR =
-      "Failed in the write API executing the consensus layer due to: ";
+      
ProcedureMessages.FAILED_IN_THE_WRITE_API_EXECUTING_THE_CONSENSUS_LAYER_DUE;
 
   public CreateCQProcedure(ScheduledExecutorService executor) {
     super();
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeactivateTemplateProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeactivateTemplateProcedure.java
index 9fa3c49d6d0..4ca00eb46aa 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeactivateTemplateProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeactivateTemplateProcedure.java
@@ -82,7 +82,7 @@ public class DeactivateTemplateProcedure
   private Map<String, List<Integer>> dataNodeRequest; // transient
 
   private static final String CONSENSUS_WRITE_ERROR =
-      "Failed in the write API executing the consensus layer due to: ";
+      
ProcedureMessages.FAILED_IN_THE_WRITE_API_EXECUTING_THE_CONSENSUS_LAYER_DUE;
 
   public DeactivateTemplateProcedure(boolean isGeneratedByPipe) {
     super(isGeneratedByPipe);
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteLogicalViewProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteLogicalViewProcedure.java
index 343f658601d..d97b0270e58 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteLogicalViewProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteLogicalViewProcedure.java
@@ -71,7 +71,7 @@ public class DeleteLogicalViewProcedure
   private transient String requestMessage;
 
   private static final String CONSENSUS_WRITE_ERROR =
-      "Failed in the write API executing the consensus layer due to: ";
+      
ProcedureMessages.FAILED_IN_THE_WRITE_API_EXECUTING_THE_CONSENSUS_LAYER_DUE;
 
   public DeleteLogicalViewProcedure(final boolean isGeneratedByPipe) {
     super(isGeneratedByPipe);
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteTimeSeriesProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteTimeSeriesProcedure.java
index a417ed55d98..d875636cc2d 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteTimeSeriesProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DeleteTimeSeriesProcedure.java
@@ -80,7 +80,7 @@ public class DeleteTimeSeriesProcedure
   private transient boolean isAllLogicalView;
 
   private static final String CONSENSUS_WRITE_ERROR =
-      "Failed in the write API executing the consensus layer due to: ";
+      
ProcedureMessages.FAILED_IN_THE_WRITE_API_EXECUTING_THE_CONSENSUS_LAYER_DUE;
 
   public DeleteTimeSeriesProcedure(final boolean isGeneratedByPipe) {
     super(isGeneratedByPipe);
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/SetTemplateProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/SetTemplateProcedure.java
index 04ab1d34963..5a16b49c1f1 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/SetTemplateProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/SetTemplateProcedure.java
@@ -83,7 +83,7 @@ public class SetTemplateProcedure
   private String templateSetPath;
 
   private static final String CONSENSUS_WRITE_ERROR =
-      "Failed in the write API executing the consensus layer due to: ";
+      
ProcedureMessages.FAILED_IN_THE_WRITE_API_EXECUTING_THE_CONSENSUS_LAYER_DUE;
 
   public SetTemplateProcedure(final boolean isGeneratedByPipe) {
     super(isGeneratedByPipe);
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/sync/AuthOperationProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/sync/AuthOperationProcedure.java
index 59e4f50b40b..7ae95858ac6 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/sync/AuthOperationProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/sync/AuthOperationProcedure.java
@@ -66,7 +66,7 @@ public class AuthOperationProcedure extends 
AbstractNodeProcedure<AuthOperationP
 
   private long timeoutMS;
   private static final String CONSENSUS_WRITE_ERROR =
-      "Failed in the write API executing the consensus layer due to: ";
+      
ProcedureMessages.FAILED_IN_THE_WRITE_API_EXECUTING_THE_CONSENSUS_LAYER_DUE;
 
   private static final int RETRY_THRESHOLD = 2;
   private static final CommonConfig commonConfig = 
CommonDescriptor.getInstance().getConfig();
diff --git 
a/iotdb-core/datanode/src/main/i18n/en/org/apache/iotdb/db/i18n/DataNodePipeMessages.java
 
b/iotdb-core/datanode/src/main/i18n/en/org/apache/iotdb/db/i18n/DataNodePipeMessages.java
index bcdab68abfd..9963d029094 100644
--- 
a/iotdb-core/datanode/src/main/i18n/en/org/apache/iotdb/db/i18n/DataNodePipeMessages.java
+++ 
b/iotdb-core/datanode/src/main/i18n/en/org/apache/iotdb/db/i18n/DataNodePipeMessages.java
@@ -108,6 +108,9 @@ public final class DataNodePipeMessages {
       "Error occurred when collecting events from processor.";
   public static final String 
EXCEPTION_IN_PIPE_EVENT_PROCESSING_IGNORED_BECAUSE =
       "Exception in pipe event processing, ignored because pipe is dropped.{}";
+  public static final String 
TEMPORARILY_OUT_OF_MEMORY_IN_PIPE_EVENT_PROCESSING =
+      "Temporarily out of memory in pipe event processing, will wait for the 
memory to release. "
+          + "Message: {}";
   public static final String 
EXCEPTION_OCCURRED_WHEN_CLOSING_PIPE_CONNECTOR_SUBTASK =
       "Exception occurred when closing pipe connector subtask {}, root cause: 
{}";
   public static final String 
EXCEPTION_OCCURRED_WHEN_CLOSING_PIPE_PROCESSOR_SUBTASK =
@@ -515,6 +518,9 @@ public final class DataNodePipeMessages {
       "Interrupted waiting for processor to stop";
   public static final String 
INTERRUPTED_WHEN_WAITING_FOR_PARSING_PRIVILEGE_FOR_TSFILE =
       "Interrupted when waiting for parsing privilege for TsFile %s.";
+  public static final String INTERRUPTED_WHEN_WAITING_FOR_CLOSING_TSFILE =
+      "Interrupted when waiting for closing TsFile %s.";
+  public static final String PARSE_TSFILE_ERROR_BECAUSE = "Parse TsFile %s 
error. Because: %s";
   public static final String PARSE_TSFILE_WHEN_CHECKING_PRIVILEGE_ERROR =
       "Parse TsFile %s when checking privilege error. Because: %s";
   public static final String READ_TSFILE_ERROR = "Read TsFile %s error.";
@@ -710,6 +716,13 @@ public final class DataNodePipeMessages {
       "Failed to adjust timeout when failed to transfer file.";
   public static final String FAILED_TO_BORROW_CLIENT_FOR_CACHED_LEADER =
       "failed to borrow client {}:{} for cached leader.";
+  public static final String HANDSHAKE_ERROR_WITH_RECEIVER =
+      "Handshake error with receiver {}:{}, code: {}, message: {}.";
+  public static final String HANDSHAKE_ERROR_WITH_RECEIVER_1 =
+      "Handshake error with receiver {}:{}.";
+  public static final String HANDSHAKE_ERROR_BY_HANDSHAKE_V2_RETRY_WITH_V1 =
+      "Handshake error by PipeTransferHandshakeV2Req with receiver {}:{} retry 
to handshake by "
+          + "PipeTransferHandshakeV1Req.";
   public static final String FAILED_TO_BUILD_AND_STARTUP_OPCUASERVER =
       "Failed to build and startup OpcUaServer";
   public static final String 
FAILED_TO_CLOSE_ASYNCPIPEDATATRANSFERSERVICECLIENTMANAGER_FOR_RECEIVER_ATTRIBUTE
 =
@@ -756,12 +769,23 @@ public final class DataNodePipeMessages {
       "Failed to transfer dataValue after successfully created nodes";
   public static final String 
FAILED_TO_TRANSFER_PIPEDELETENODEEVENT_COMMITTER_KEY_REPLICATE =
       "Failed to transfer PipeDeleteNodeEvent {} (committer key={}, replicate 
index={}).";
+  public static final String FAILED_TO_TRANSFER_SLICE_RETRY_WHOLE_TRANSFER =
+      "Failed to transfer slice. Origin req: {}-{}. Retry the whole transfer.";
   public static final String 
FAILED_TO_TRANSFER_TABLETINSERTIONEVENT_COMMITTER_KEY_REPLICATE =
       "Failed to transfer TabletInsertionEvent {} (committer key={}, replicate 
index={}).";
+  public static final String 
FAILED_TO_TRANSFER_TABLETINSERTIONEVENT_COMMITTER_KEY_COMMIT_ID =
+      "Failed to transfer TabletInsertionEvent {} (committer key={}, commit 
id={}).";
+  public static final String FAILED_TO_TRANSFER_TABLETINSERTIONEVENT_BATCH =
+      "Failed to transfer TabletInsertionEvent batch. Total failed events: {}, 
related pipe "
+          + "names: {}";
   public static final String FAILED_TO_TRANSFER_TSFILE_BATCH =
       "Failed to transfer tsfile batch ({}).";
   public static final String FAILED_TO_TRANSFER_TSFILE_EVENT_ASYNCHRONOUSLY =
       "Failed to transfer tsfile event {} asynchronously.";
+  public static final String 
FAILED_TO_TRANSFER_TSFILEINSERTIONEVENT_COMMITTER_KEY_COMMIT_ID =
+      "Failed to transfer TsFileInsertionEvent {} (committer key {}, commit id 
{}).";
+  public static final String 
FAILED_TO_TRANSFER_TSFILEINSERTIONEVENT_BATCHED_TABLE_EVENTS =
+      "Failed to transfer TsFileInsertionEvent {} (batched 
TableInsertionEvents).";
   public static final String FAILED_TO_UPDATE_LEADER_CACHE_FOR_DEVICE =
       "Failed to update leader cache for device {} with endpoint {}:{}.";
   public static final String FAILED_TO_WRITE = "Failed to write ";
@@ -995,6 +1019,17 @@ public final class DataNodePipeMessages {
   public static final String TIOTCONSENSUSV2TRANSFERRESP_IS_NULL =
       "TIoTConsensusV2TransferResp is null";
   public static final String TPIPETRANSFERRESP_IS_NULL = "TPipeTransferResp is 
null";
+  public static final String 
OPC_UA_SINK_MODEL_MUST_BE_CLIENT_SERVER_WHEN_OUTER_OR_WITH_QUALITY =
+      "When the OPC UA sink points to an outer server or sets 'with-quality' 
to true, the %s or "
+          + "%s must be %s.";
+  public static final String 
WITH_QUALITY_MEASUREMENT_MUST_BE_VALUE_OR_QUALITY_NAME =
+      "When the 'with-quality' mode is enabled, the measurement must be either 
\"value-name\" or "
+          + "\"quality-name\"";
+  public static final String SESSION_FAILED_TO_CHECK_AUTHORITY_FOR_STATEMENT =
+      "Session {}: Failed to check authority for statement {}, username = {}, 
response = {}.";
+  public static final String TRANSFER_REQUEST_BODY_TOO_LARGE_WILL_BE_SLICED =
+      "The body size of the request is too large. The request will be sliced. 
Origin req: {}-{}. "
+          + "Request body size: {}, threshold: {}";
   public static final String 
TRANSFER_TSFILE_EVENT_ASYNCHRONOUSLY_WAS_INTERRUPTED =
       "Transfer tsfile event {} asynchronously was interrupted.";
   public static final String UNABLE_TO_CREATE_SECURITY_DIR = "unable to create 
security dir: ";
@@ -1036,6 +1071,8 @@ public final class DataNodePipeMessages {
       "Database name is unexpectedly null for LoadTsFileStatement: {}. Skip 
data type conversion.";
   public static final String DATABASE_NAME_IS_UNEXPECTEDLY_NULL_FOR_STATEMENT =
       "Database name is unexpectedly null for statement: {}. Skip data type 
conversion.";
+  public static final String 
DATABASE_NAME_IS_UNEXPECTEDLY_NULL_SKIP_DATA_TYPE_CONVERSION =
+      "Pipe: Database name is unexpectedly null. Skip data type conversion.";
   public static final String 
DATA_TYPE_CONVERSION_FOR_LOADTSFILESTATEMENT_IS_SUCCESSFUL =
       "Data type conversion for LoadTsFileStatement {} is successful.";
   public static final String 
DATA_TYPE_MISMATCH_DETECTED_TSSTATUS_FOR_LOADTSFILESTATEMENT =
@@ -1049,6 +1086,11 @@ public final class DataNodePipeMessages {
       "Failed to convert data type for LoadTsFileStatement: {}.";
   public static final String FAILED_TO_EXECUTE_STATEMENT_AFTER_DATA_TYPE =
       "Failed to execute statement after data type conversion.";
+  public static final String
+      
FAILED_TO_EXECUTE_STATEMENT_AFTER_DATA_TYPE_CONVERSION_WITH_EXCEPTION_TYPE =
+          "Pipe: Failed to execute statement after data type conversion. 
Exception type: {}.";
+  public static final String 
FAILED_TO_PARSE_ROW_VALUE_DURING_DATA_TYPE_CONVERSION =
+      "Pipe: Failed to parse row value during data type conversion. Registered 
type {}.";
   public static final String FAILED_TO_HANDLE_CONFIG_CLIENT_ID_EXIT =
       "Failed to handle config client (id = {}) exit";
   public static final String 
FAIL_TO_CREATE_IOTCONSENSUSV2_RECEIVER_FILE_FOLDERS =
@@ -1235,6 +1277,10 @@ public final class DataNodePipeMessages {
   public static final String PIPE_AIR_GAP_RECEIVER_TSSTATUS_IS_ENCOUNTERED =
       "Pipe air gap receiver {}: TSStatus {} is encountered at the air gap 
receiver, will ignore.";
   public static final String PIPE_DATA_TRANSPORT_ERROR = "Pipe data transport 
error, {}";
+  public static final String PIPE_INSERTING_ROW_CASTING_TYPE_FROM =
+      "Pipe: Inserting row. Casting type from {} to {}.";
+  public static final String PIPE_INSERTING_TABLET_CASTING_TYPE_FROM =
+      "Pipe: Inserting tablet. Casting type from {} to {}.";
   public static final String PIPE_INSERTING_TABLET_TO_CASTING_TYPE_FROM =
       "Pipe: Inserting tablet to {}.{}. Casting type from {} to {}.";
   public static final String RECEIVERS_EXECUTOR_IS_CLOSED = "Receivers-{}' 
executor is closed.";
@@ -1247,6 +1293,17 @@ public final class DataNodePipeMessages {
       "Receiver id = {}: Unknown PipeRequestType, response status = {}.";
   public static final String 
RECEIVER_ID_UNSUPPORTED_STATEMENT_TYPE_FOR_REDIRECTION =
       "Receiver id = {}: Unsupported statement type {} for redirection.";
+  public static final String 
RECEIVER_ID_FAILED_TO_CHECK_AUTHORITY_FOR_STATEMENT =
+      "Receiver id = {}: Failed to check authority for statement {}, username 
= {}, response = {}.";
+  public static final String 
RECEIVER_ID_FAILURE_STATUS_WHILE_EXECUTING_STATEMENT =
+      "Receiver id = {}: Failure status encountered while executing statement 
{}: {}";
+  public static final String RECEIVER_ID_EXCEPTION_WHILE_EXECUTING_STATEMENT =
+      "Receiver id = {}: Exception encountered while executing statement {}: ";
+  public static final String RECEIVER_ID_STATEMENT_EXCEPTION_MESSAGE =
+      "Receiver id = {}, statement = {}, exception = {}, message = {}";
+  public static final String UNKNOWN_PIPEREQUESTTYPE = "Unknown 
PipeRequestType %s.";
+  public static final String EXCEPTION_ENCOUNTERED_WHILE_HANDLING_REQUEST =
+      "Exception %s encountered while handling request %s.";
   public static final String RECEIVER_IS_READY = "Receiver-{} is ready";
   public static final String RECEIVER_TEMPORARILY_OUT_OF_MEMORY_FORMAT =
       "Temporarily out of memory when %s. Requested memory: %d bytes, used 
memory: %d bytes, "
diff --git 
a/iotdb-core/datanode/src/main/i18n/zh/org/apache/iotdb/db/i18n/DataNodePipeMessages.java
 
b/iotdb-core/datanode/src/main/i18n/zh/org/apache/iotdb/db/i18n/DataNodePipeMessages.java
index 3a51486d847..b34fb373ddb 100644
--- 
a/iotdb-core/datanode/src/main/i18n/zh/org/apache/iotdb/db/i18n/DataNodePipeMessages.java
+++ 
b/iotdb-core/datanode/src/main/i18n/zh/org/apache/iotdb/db/i18n/DataNodePipeMessages.java
@@ -100,6 +100,8 @@ public final class DataNodePipeMessages {
       "从 processor 收集事件时发生错误";
   public static final String 
EXCEPTION_IN_PIPE_EVENT_PROCESSING_IGNORED_BECAUSE =
       "pipe event processing 中发生异常,因为 pipe 已被删除,忽略该异常。{}";
+  public static final String 
TEMPORARILY_OUT_OF_MEMORY_IN_PIPE_EVENT_PROCESSING =
+      "Pipe 事件处理时暂时内存不足,将等待内存释放。消息:{}";
   public static final String 
EXCEPTION_OCCURRED_WHEN_CLOSING_PIPE_CONNECTOR_SUBTASK =
       "关闭 pipe connector 子任务 {} 时发生异常,根因:{}";
   public static final String 
EXCEPTION_OCCURRED_WHEN_CLOSING_PIPE_PROCESSOR_SUBTASK =
@@ -492,6 +494,9 @@ public final class DataNodePipeMessages {
       "等待 processor 停止时被中断";
   public static final String 
INTERRUPTED_WHEN_WAITING_FOR_PARSING_PRIVILEGE_FOR_TSFILE =
       "等待解析 TsFile %s 的权限信息时被中断。";
+  public static final String INTERRUPTED_WHEN_WAITING_FOR_CLOSING_TSFILE =
+      "等待 TsFile %s 关闭时被中断。";
+  public static final String PARSE_TSFILE_ERROR_BECAUSE = "解析 TsFile %s 
失败。原因:%s";
   public static final String PARSE_TSFILE_WHEN_CHECKING_PRIVILEGE_ERROR =
       "检查权限时解析 TsFile %s 失败。原因:%s";
   public static final String READ_TSFILE_ERROR = "读取 TsFile %s 失败。";
@@ -675,6 +680,13 @@ public final class DataNodePipeMessages {
       "传输文件失败后调整超时时间失败。";
   public static final String FAILED_TO_BORROW_CLIENT_FOR_CACHED_LEADER =
       "为 cached leader 借用 client {}:{} 失败。";
+  public static final String HANDSHAKE_ERROR_WITH_RECEIVER =
+      "与接收端 {}:{} 握手失败,状态码:{},消息:{}。";
+  public static final String HANDSHAKE_ERROR_WITH_RECEIVER_1 =
+      "与接收端 {}:{} 握手失败。";
+  public static final String HANDSHAKE_ERROR_BY_HANDSHAKE_V2_RETRY_WITH_V1 =
+      "使用 PipeTransferHandshakeV2Req 与接收端 {}:{} 握手失败,改用 
PipeTransferHandshakeV1Req "
+          + "重试握手。";
   public static final String FAILED_TO_BUILD_AND_STARTUP_OPCUASERVER =
       "构建并启动 OpcUaServer 失败";
   public static final String 
FAILED_TO_CLOSE_ASYNCPIPEDATATRANSFERSERVICECLIENTMANAGER_FOR_RECEIVER_ATTRIBUTE
 =
@@ -718,11 +730,21 @@ public final class DataNodePipeMessages {
       "成功创建 node 后传输 dataValue 失败";
   public static final String 
FAILED_TO_TRANSFER_PIPEDELETENODEEVENT_COMMITTER_KEY_REPLICATE =
       "传输 PipeDeleteNodeEvent {} (committer key={}, replicate index={}) 失败。";
+  public static final String FAILED_TO_TRANSFER_SLICE_RETRY_WHOLE_TRANSFER =
+      "传输 slice 失败。原始请求:{}-{}。将重试完整传输。";
   public static final String 
FAILED_TO_TRANSFER_TABLETINSERTIONEVENT_COMMITTER_KEY_REPLICATE =
       "传输 TabletInsertionEvent {} (committer key={}, replicate index={}) 失败。";
+  public static final String 
FAILED_TO_TRANSFER_TABLETINSERTIONEVENT_COMMITTER_KEY_COMMIT_ID =
+      "传输 TabletInsertionEvent {}(committer key={},commit id={})失败。";
+  public static final String FAILED_TO_TRANSFER_TABLETINSERTIONEVENT_BATCH =
+      "传输 TabletInsertionEvent 批次失败。失败事件总数:{},相关 pipe 名称:{}";
   public static final String FAILED_TO_TRANSFER_TSFILE_BATCH = "传输 tsfile 
batch ({}) 失败。";
   public static final String FAILED_TO_TRANSFER_TSFILE_EVENT_ASYNCHRONOUSLY =
       "传输 tsfile event {} asynchronously 失败。";
+  public static final String 
FAILED_TO_TRANSFER_TSFILEINSERTIONEVENT_COMMITTER_KEY_COMMIT_ID =
+      "传输 TsFileInsertionEvent {}(committer key {},commit id {})失败。";
+  public static final String 
FAILED_TO_TRANSFER_TSFILEINSERTIONEVENT_BATCHED_TABLE_EVENTS =
+      "传输 TsFileInsertionEvent {}(批量 TableInsertionEvent)失败。";
   public static final String FAILED_TO_UPDATE_LEADER_CACHE_FOR_DEVICE =
       "更新 leader cache for device {} with endpoint {}:{} 失败。";
   public static final String FAILED_TO_WRITE = "写入失败 ";
@@ -937,6 +959,14 @@ public final class DataNodePipeMessages {
       "TIoTConsensusV2BatchTransferResp 为空";
   public static final String TIOTCONSENSUSV2TRANSFERRESP_IS_NULL = 
"TIoTConsensusV2TransferResp 为空";
   public static final String TPIPETRANSFERRESP_IS_NULL = "TPipeTransferResp 
为空";
+  public static final String 
OPC_UA_SINK_MODEL_MUST_BE_CLIENT_SERVER_WHEN_OUTER_OR_WITH_QUALITY =
+      "当 OPC UA sink 指向外部 server 或将 'with-quality' 设置为 true 时,%s 或 %s 必须为 %s。";
+  public static final String 
WITH_QUALITY_MEASUREMENT_MUST_BE_VALUE_OR_QUALITY_NAME =
+      "启用 'with-quality' 模式时,measurement 必须是 \"value-name\" 或 
\"quality-name\"。";
+  public static final String SESSION_FAILED_TO_CHECK_AUTHORITY_FOR_STATEMENT =
+      "Session {}: 检查 statement {} 权限失败,username = {},response = {}。";
+  public static final String TRANSFER_REQUEST_BODY_TOO_LARGE_WILL_BE_SLICED =
+      "请求体过大,将切分请求。原始请求:{}-{}。请求体大小:{},阈值:{}";
   public static final String 
TRANSFER_TSFILE_EVENT_ASYNCHRONOUSLY_WAS_INTERRUPTED =
       "异步传输 tsfile event {} 被中断。";
   public static final String UNABLE_TO_CREATE_SECURITY_DIR = "无法创建 security 
dir: ";
@@ -974,6 +1004,8 @@ public final class DataNodePipeMessages {
       "LoadTsFileStatement:{} 的数据库名称为空,跳过数据类型转换。";
   public static final String DATABASE_NAME_IS_UNEXPECTEDLY_NULL_FOR_STATEMENT =
       "statement:{} 的数据库名称为空,跳过数据类型转换。";
+  public static final String 
DATABASE_NAME_IS_UNEXPECTEDLY_NULL_SKIP_DATA_TYPE_CONVERSION =
+      "Pipe:数据库名称为空,跳过数据类型转换。";
   public static final String 
DATA_TYPE_CONVERSION_FOR_LOADTSFILESTATEMENT_IS_SUCCESSFUL =
       "LoadTsFileStatement {} 的数据类型转换成功。";
   public static final String 
DATA_TYPE_MISMATCH_DETECTED_TSSTATUS_FOR_LOADTSFILESTATEMENT =
@@ -986,6 +1018,11 @@ public final class DataNodePipeMessages {
       "转换 data type for LoadTsFileStatement: {} 失败。";
   public static final String FAILED_TO_EXECUTE_STATEMENT_AFTER_DATA_TYPE =
       "execute statement after data type conversion 失败。";
+  public static final String
+      
FAILED_TO_EXECUTE_STATEMENT_AFTER_DATA_TYPE_CONVERSION_WITH_EXCEPTION_TYPE =
+          "Pipe:执行数据类型转换后的 statement 失败。异常类型:{}。";
+  public static final String 
FAILED_TO_PARSE_ROW_VALUE_DURING_DATA_TYPE_CONVERSION =
+      "Pipe:数据类型转换时解析 row value 失败。注册类型:{}。";
   public static final String FAILED_TO_HANDLE_CONFIG_CLIENT_ID_EXIT =
       "处理 config client (id = {}) exit 失败";
   public static final String 
FAIL_TO_CREATE_IOTCONSENSUSV2_RECEIVER_FILE_FOLDERS =
@@ -1164,6 +1201,10 @@ public final class DataNodePipeMessages {
   public static final String PIPE_AIR_GAP_RECEIVER_TSSTATUS_IS_ENCOUNTERED =
       "Pipe air gap receiver {}:在 air gap receiver 处遇到 TSStatus {},将忽略。";
   public static final String PIPE_DATA_TRANSPORT_ERROR = "Pipe 数据传输错误,{}";
+  public static final String PIPE_INSERTING_ROW_CASTING_TYPE_FROM =
+      "Pipe:写入 row。将类型从 {} 转换为 {}。";
+  public static final String PIPE_INSERTING_TABLET_CASTING_TYPE_FROM =
+      "Pipe:写入 tablet。将类型从 {} 转换为 {}。";
   public static final String PIPE_INSERTING_TABLET_TO_CASTING_TYPE_FROM =
       "Pipe:向 {}.{} 写入 tablet。将类型从 {} 转换为 {}。";
   public static final String RECEIVERS_EXECUTOR_IS_CLOSED = "Receivers-{} 的 
executor 已关闭。";
@@ -1175,6 +1216,17 @@ public final class DataNodePipeMessages {
       "Receiver id = {}:未知的 PipeRequestType,response status = {}。";
   public static final String 
RECEIVER_ID_UNSUPPORTED_STATEMENT_TYPE_FOR_REDIRECTION =
       "Receiver id = {}:不支持的 statement type {} 用于 redirection。";
+  public static final String 
RECEIVER_ID_FAILED_TO_CHECK_AUTHORITY_FOR_STATEMENT =
+      "Receiver id = {}: 检查 statement {} 权限失败,username = {},response = {}。";
+  public static final String 
RECEIVER_ID_FAILURE_STATUS_WHILE_EXECUTING_STATEMENT =
+      "Receiver id = {}: 执行 statement {} 时遇到失败状态:{}";
+  public static final String RECEIVER_ID_EXCEPTION_WHILE_EXECUTING_STATEMENT =
+      "Receiver id = {}: 执行 statement {} 时遇到异常:";
+  public static final String RECEIVER_ID_STATEMENT_EXCEPTION_MESSAGE =
+      "Receiver id = {},statement = {},exception = {},message = {}";
+  public static final String UNKNOWN_PIPEREQUESTTYPE = "未知 PipeRequestType 
%s。";
+  public static final String EXCEPTION_ENCOUNTERED_WHILE_HANDLING_REQUEST =
+      "遇到异常 %s,处理请求 %s 时。";
   public static final String RECEIVER_IS_READY = "Receiver-{} 已就绪";
   public static final String RECEIVER_TEMPORARILY_OUT_OF_MEMORY_FORMAT =
       "执行 %s 时暂时内存不足。请求内存:%d bytes,已用内存:%d bytes,可用内存:%d bytes,"
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/processor/PipeProcessorSubtask.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/processor/PipeProcessorSubtask.java
index 1003c8a0ccb..8c26726bfb2 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/processor/PipeProcessorSubtask.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/processor/PipeProcessorSubtask.java
@@ -249,14 +249,14 @@ public class PipeProcessorSubtask extends 
PipeReportableSubtask {
     } catch (final PipeRuntimeOutOfMemoryCriticalException e) {
       PipeLogger.log(
           LOGGER::info,
-          "Temporarily out of memory in pipe event processing, will wait for 
the memory to release. Message: %s",
+          
DataNodePipeMessages.TEMPORARILY_OUT_OF_MEMORY_IN_PIPE_EVENT_PROCESSING,
           e.getMessage());
       return false;
     } catch (final Exception e) {
       if (ExceptionUtils.getRootCause(e) instanceof 
PipeRuntimeOutOfMemoryCriticalException) {
         PipeLogger.log(
             LOGGER::info,
-            "Temporarily out of memory in pipe event processing, will wait for 
the memory to release. Message: %s",
+            
DataNodePipeMessages.TEMPORARILY_OUT_OF_MEMORY_IN_PIPE_EVENT_PROCESSING,
             e.getMessage());
         return false;
       }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/PipeTsFileInsertionEvent.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/PipeTsFileInsertionEvent.java
index 77ea67fdd97..757411df9b9 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/PipeTsFileInsertionEvent.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/PipeTsFileInsertionEvent.java
@@ -855,9 +855,12 @@ public class PipeTsFileInsertionEvent extends 
PipeInsertionEvent
       final String errorMsg =
           e instanceof InterruptedException
               ? String.format(
-                  "Interrupted when waiting for closing TsFile %s.", 
resource.getTsFilePath())
+                  
DataNodePipeMessages.INTERRUPTED_WHEN_WAITING_FOR_CLOSING_TSFILE,
+                  resource.getTsFilePath())
               : String.format(
-                  "Parse TsFile %s error. Because: %s", 
resource.getTsFilePath(), e.getMessage());
+                  DataNodePipeMessages.PARSE_TSFILE_ERROR_BECAUSE,
+                  resource.getTsFilePath(),
+                  e.getMessage());
       if (e instanceof PipeRuntimeOutOfMemoryCriticalException) {
         PipeLogger.log(LOGGER::warn, errorMsg);
       } else {
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 46c00a095c8..3048ad13084 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
@@ -464,7 +464,7 @@ public class IoTDBDataNodeReceiver extends 
IoTDBFileReceiver {
       final TSStatus status =
           RpcUtils.getStatus(
               TSStatusCode.PIPE_TYPE_ERROR,
-              String.format("Unknown PipeRequestType %s.", rawRequestType));
+              String.format(DataNodePipeMessages.UNKNOWN_PIPEREQUESTTYPE, 
rawRequestType));
       LOGGER.warn(
           
DataNodePipeMessages.RECEIVER_ID_UNKNOWN_PIPEREQUESTTYPE_RESPONSE_STATUS,
           receiverId.get(),
@@ -472,8 +472,11 @@ public class IoTDBDataNodeReceiver extends 
IoTDBFileReceiver {
       return new TPipeTransferResp(status);
     } catch (final Exception e) {
       final String error =
-          String.format("Exception %s encountered while handling request %s.", 
e.getMessage(), req);
-      PipeLogger.log(LOGGER::warn, e, "Receiver id = %s: %s", 
receiverId.get(), error);
+          String.format(
+              
DataNodePipeMessages.EXCEPTION_ENCOUNTERED_WHILE_HANDLING_REQUEST,
+              e.getMessage(),
+              req);
+      PipeLogger.log(LOGGER::warn, e, DataNodePipeMessages.RECEIVER_ID, 
receiverId.get(), error);
       return new TPipeTransferResp(RpcUtils.getStatus(TSStatusCode.PIPE_ERROR, 
error));
     }
   }
@@ -828,7 +831,7 @@ public class IoTDBDataNodeReceiver extends 
IoTDBFileReceiver {
       if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
         PipeLogger.log(
             LOGGER::warn,
-            "Receiver id = %s: Failed to check authority for statement %s, 
username = %s, response = %s.",
+            
DataNodePipeMessages.RECEIVER_ID_FAILED_TO_CHECK_AUTHORITY_FOR_STATEMENT,
             receiverId.get(),
             StatementType.ALTER_LOGICAL_VIEW.name(),
             username,
@@ -1057,7 +1060,7 @@ public class IoTDBDataNodeReceiver extends 
IoTDBFileReceiver {
         if (code != TSStatusCode.OUT_OF_TTL.getStatusCode()) {
           PipeLogger.log(
               LOGGER::warn,
-              "Receiver id = %s: Failure status encountered while executing 
statement %s: %s",
+              
DataNodePipeMessages.RECEIVER_ID_FAILURE_STATUS_WHILE_EXECUTING_STATEMENT,
               receiverId.get(),
               statement.getPipeLoggingString(),
               result);
@@ -1080,7 +1083,7 @@ public class IoTDBDataNodeReceiver extends 
IoTDBFileReceiver {
       PipeLogger.log(
           LOGGER::warn,
           e,
-          "Receiver id = %s: Exception encountered while executing statement 
%s: ",
+          DataNodePipeMessages.RECEIVER_ID_EXCEPTION_WHILE_EXECUTING_STATEMENT,
           receiverId.get(),
           Objects.isNull(statement) ? null : statement.getPipeLoggingString());
     }
@@ -1091,7 +1094,7 @@ public class IoTDBDataNodeReceiver extends 
IoTDBFileReceiver {
     // Use the reducer cache as a gate. The actual stack trace is logged only 
when it passes.
     return PipePeriodicalLogReducer.log(
         message -> {},
-        "Receiver id = %s, statement = %s, exception = %s, message = %s",
+        DataNodePipeMessages.RECEIVER_ID_STATEMENT_EXCEPTION_MESSAGE,
         receiverId,
         Objects.isNull(statement) ? null : statement.getPipeLoggingString(),
         e.getClass().getName(),
@@ -1149,7 +1152,7 @@ public class IoTDBDataNodeReceiver extends 
IoTDBFileReceiver {
       if (permissionCheckStatus.getCode() != 
TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
         PipeLogger.log(
             LOGGER::warn,
-            "Receiver id = %s: Failed to check authority for statement %s, 
username = %s, response = %s.",
+            
DataNodePipeMessages.RECEIVER_ID_FAILED_TO_CHECK_AUTHORITY_FOR_STATEMENT,
             receiverId.get(),
             statement.getType().name(),
             username,
@@ -1500,7 +1503,7 @@ public class IoTDBDataNodeReceiver extends 
IoTDBFileReceiver {
           || result.getCode() == 
TSStatusCode.REDIRECTION_RECOMMEND.getStatusCode())) {
         PipeLogger.log(
             LOGGER::warn,
-            "Receiver id = %s: Failure status encountered while executing 
statement %s: %s",
+            
DataNodePipeMessages.RECEIVER_ID_FAILURE_STATUS_WHILE_EXECUTING_STATEMENT,
             receiverId.get(),
             statement,
             result);
@@ -1510,7 +1513,7 @@ public class IoTDBDataNodeReceiver extends 
IoTDBFileReceiver {
       PipeLogger.log(
           LOGGER::warn,
           e,
-          "Receiver id = %s: Exception encountered while executing statement 
%s: ",
+          DataNodePipeMessages.RECEIVER_ID_EXCEPTION_WHILE_EXECUTING_STATEMENT,
           receiverId.get(),
           statement);
       return new 
TSStatus(TSStatusCode.PIPE_TRANSFER_EXECUTE_STATEMENT_ERROR.getStatusCode())
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/statement/PipeConvertedInsertRowStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/statement/PipeConvertedInsertRowStatement.java
index 5f70750864b..99edef690b5 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/statement/PipeConvertedInsertRowStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/statement/PipeConvertedInsertRowStatement.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.commons.conf.IoTDBConstant;
 import org.apache.iotdb.commons.pipe.resource.log.PipeLogger;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.exception.metadata.PathNotExistException;
+import org.apache.iotdb.db.i18n.DataNodePipeMessages;
 import org.apache.iotdb.db.pipe.receiver.transform.converter.ValueConverter;
 import org.apache.iotdb.db.queryengine.plan.statement.crud.InsertRowStatement;
 
@@ -92,13 +93,13 @@ public class PipeConvertedInsertRowStatement extends 
InsertRowStatement {
 
   @Override
   protected boolean checkAndCastDataType(int columnIndex, TSDataType dataType) 
{
-    PipeLogger.log(
-        LOGGER::info,
-        "Pipe: Inserting row to %s.%s. Casting type from %s to %s.",
-        devicePath,
-        measurements[columnIndex],
-        dataTypes[columnIndex],
-        dataType);
+    if (LOGGER.isInfoEnabled()) {
+      PipeLogger.log(
+          LOGGER::info,
+          DataNodePipeMessages.PIPE_INSERTING_ROW_CASTING_TYPE_FROM,
+          dataTypes[columnIndex],
+          dataType);
+    }
     values[columnIndex] =
         ValueConverter.convert(dataTypes[columnIndex], dataType, 
values[columnIndex]);
     dataTypes[columnIndex] = dataType;
@@ -138,15 +139,12 @@ public class PipeConvertedInsertRowStatement extends 
InsertRowStatement {
       try {
         values[i] = ValueConverter.parse(values[i].toString(), dataTypes[i]);
       } catch (Exception e) {
-        PipeLogger.log(
-            LOGGER::warn,
-            "data type of %s.%s is not consistent, "
-                + "registered type %s, inserting timestamp %s, value %s",
-            devicePath,
-            measurements[i],
-            dataTypes[i],
-            time,
-            values[i]);
+        if (LOGGER.isWarnEnabled()) {
+          PipeLogger.log(
+              LOGGER::warn,
+              
DataNodePipeMessages.FAILED_TO_PARSE_ROW_VALUE_DURING_DATA_TYPE_CONVERSION,
+              dataTypes[i]);
+        }
         if 
(!IoTDBDescriptor.getInstance().getConfig().isEnablePartialInsert()) {
           throw e;
         } else {
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/statement/PipeConvertedInsertTabletStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/statement/PipeConvertedInsertTabletStatement.java
index 24f8a793c1c..f7e6f0be1e6 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/statement/PipeConvertedInsertTabletStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/transform/statement/PipeConvertedInsertTabletStatement.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.db.pipe.receiver.transform.statement;
 
+import org.apache.iotdb.commons.pipe.resource.log.PipeLogger;
 import org.apache.iotdb.db.i18n.DataNodePipeMessages;
 import org.apache.iotdb.db.pipe.receiver.transform.converter.ArrayConverter;
 import 
org.apache.iotdb.db.queryengine.plan.statement.crud.InsertTabletStatement;
@@ -98,12 +99,13 @@ public class PipeConvertedInsertTabletStatement extends 
InsertTabletStatement {
 
   @Override
   protected boolean checkAndCastDataType(int columnIndex, TSDataType dataType) 
{
-    LOGGER.info(
-        DataNodePipeMessages.PIPE_INSERTING_TABLET_TO_CASTING_TYPE_FROM,
-        devicePath,
-        measurements[columnIndex],
-        dataTypes[columnIndex],
-        dataType);
+    if (LOGGER.isInfoEnabled()) {
+      PipeLogger.log(
+          LOGGER::info,
+          DataNodePipeMessages.PIPE_INSERTING_TABLET_CASTING_TYPE_FROM,
+          dataTypes[columnIndex],
+          dataType);
+    }
     columns[columnIndex] =
         ArrayConverter.convert(dataTypes[columnIndex], dataType, 
columns[columnIndex]);
     dataTypes[columnIndex] = dataType;
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeTableStatementDataTypeConvertExecutionVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeTableStatementDataTypeConvertExecutionVisitor.java
index 908b0055afe..5a80da6f6e6 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeTableStatementDataTypeConvertExecutionVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeTableStatementDataTypeConvertExecutionVisitor.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.pipe.receiver.visitor;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.pipe.config.PipeConfig;
 import org.apache.iotdb.commons.pipe.datastructure.pattern.TablePattern;
+import org.apache.iotdb.commons.pipe.resource.log.PipeLogger;
 import org.apache.iotdb.db.i18n.DataNodePipeMessages;
 import 
org.apache.iotdb.db.pipe.event.common.tablet.PipeRawTabletInsertionEvent;
 import 
org.apache.iotdb.db.pipe.event.common.tsfile.parser.table.TsFileInsertionEventTableParser;
@@ -77,14 +78,23 @@ public class 
PipeTableStatementDataTypeConvertExecutionVisitor
   private Optional<TSStatus> tryExecute(final Statement statement, final 
String databaseName) {
     try {
       if (Objects.isNull(databaseName)) {
-        LOGGER.warn(
-            
DataNodePipeMessages.DATABASE_NAME_IS_UNEXPECTEDLY_NULL_FOR_STATEMENT, 
statement);
+        if (LOGGER.isWarnEnabled()) {
+          PipeLogger.log(
+              LOGGER::warn,
+              
DataNodePipeMessages.DATABASE_NAME_IS_UNEXPECTEDLY_NULL_SKIP_DATA_TYPE_CONVERSION);
+        }
         return Optional.empty();
       }
 
       return Optional.of(statementExecutor.execute(statement, databaseName));
     } catch (final Exception e) {
-      
LOGGER.warn(DataNodePipeMessages.FAILED_TO_EXECUTE_STATEMENT_AFTER_DATA_TYPE, 
e);
+      if (LOGGER.isWarnEnabled()) {
+        PipeLogger.log(
+            LOGGER::warn,
+            DataNodePipeMessages
+                
.FAILED_TO_EXECUTE_STATEMENT_AFTER_DATA_TYPE_CONVERSION_WITH_EXCEPTION_TYPE,
+            e.getClass().getName());
+      }
       return Optional.empty();
     }
   }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeTreeStatementDataTypeConvertExecutionVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeTreeStatementDataTypeConvertExecutionVisitor.java
index f8c6eadc5f5..489ec2ede22 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeTreeStatementDataTypeConvertExecutionVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeTreeStatementDataTypeConvertExecutionVisitor.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.pipe.receiver.visitor;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.pipe.config.PipeConfig;
 import org.apache.iotdb.commons.pipe.datastructure.pattern.IoTDBTreePattern;
+import org.apache.iotdb.commons.pipe.resource.log.PipeLogger;
 import org.apache.iotdb.db.i18n.DataNodePipeMessages;
 import 
org.apache.iotdb.db.pipe.event.common.tsfile.parser.scan.TsFileInsertionEventScanParser;
 import org.apache.iotdb.db.pipe.receiver.protocol.thrift.IoTDBDataNodeReceiver;
@@ -75,7 +76,13 @@ public class PipeTreeStatementDataTypeConvertExecutionVisitor
     try {
       return Optional.of(statementExecutor.execute(statement));
     } catch (final Exception e) {
-      
LOGGER.warn(DataNodePipeMessages.FAILED_TO_EXECUTE_STATEMENT_AFTER_DATA_TYPE, 
e);
+      if (LOGGER.isWarnEnabled()) {
+        PipeLogger.log(
+            LOGGER::warn,
+            DataNodePipeMessages
+                
.FAILED_TO_EXECUTE_STATEMENT_AFTER_DATA_TYPE_CONVERSION_WITH_EXCEPTION_TYPE,
+            e.getClass().getName());
+      }
       return Optional.empty();
     }
   }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/client/IoTDBDataNodeAsyncClientManager.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/client/IoTDBDataNodeAsyncClientManager.java
index 381206258f1..460c3c5f846 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/client/IoTDBDataNodeAsyncClientManager.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/client/IoTDBDataNodeAsyncClientManager.java
@@ -209,7 +209,7 @@ public class IoTDBDataNodeAsyncClientManager extends 
IoTDBClientManager
                   endPoint.getPort(),
                   e),
           e,
-          "Failed to borrow client %s:%s for cached leader.",
+          DataNodePipeMessages.FAILED_TO_BORROW_CLIENT_FOR_CACHED_LEADER,
           endPoint.getIp(),
           endPoint.getPort());
     }
@@ -245,7 +245,7 @@ public class IoTDBDataNodeAsyncClientManager extends 
IoTDBClientManager
             if (response.getStatus().getCode() != 
TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
               PipeLogger.log(
                   LOGGER::warn,
-                  "Handshake error with receiver %s:%s, code: %s, message: 
%s.",
+                  DataNodePipeMessages.HANDSHAKE_ERROR_WITH_RECEIVER,
                   targetNodeUrl.getIp(),
                   targetNodeUrl.getPort(),
                   response.getStatus().getCode(),
@@ -279,7 +279,7 @@ public class IoTDBDataNodeAsyncClientManager extends 
IoTDBClientManager
             PipeLogger.log(
                 LOGGER::warn,
                 e,
-                "Handshake error with receiver %s:%s.",
+                DataNodePipeMessages.HANDSHAKE_ERROR_WITH_RECEIVER_1,
                 targetNodeUrl.getIp(),
                 targetNodeUrl.getPort());
             exception.set(e);
@@ -332,8 +332,7 @@ public class IoTDBDataNodeAsyncClientManager extends 
IoTDBClientManager
           && resp.get().getStatus().getCode() == 
TSStatusCode.PIPE_TYPE_ERROR.getStatusCode()) {
         PipeLogger.log(
             LOGGER::warn,
-            "Handshake error by PipeTransferHandshakeV2Req with receiver %s:%s 
"
-                + "retry to handshake by PipeTransferHandshakeV1Req.",
+            DataNodePipeMessages.HANDSHAKE_ERROR_BY_HANDSHAKE_V2_RETRY_WITH_V1,
             targetNodeUrl.getIp(),
             targetNodeUrl.getPort());
 
@@ -374,7 +373,7 @@ public class IoTDBDataNodeAsyncClientManager extends 
IoTDBClientManager
                       targetNodeUrl.getPort(),
                       e),
               e,
-              "Failed to close client %s:%s after handshake failure when the 
manager is closed.",
+              
DataNodePipeMessages.FAILED_TO_CLOSE_CLIENT_AFTER_HANDSHAKE_FAILURE,
               targetNodeUrl.getIp(),
               targetNodeUrl.getPort());
         }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/IoTConsensusV2AsyncSink.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/IoTConsensusV2AsyncSink.java
index b4766a2dae4..05e14ed08ae 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/IoTConsensusV2AsyncSink.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/IoTConsensusV2AsyncSink.java
@@ -233,7 +233,7 @@ public class IoTConsensusV2AsyncSink extends IoTDBSink 
implements ConsensusPipeS
                   
DataNodePipeMessages.IOTCONSENSUSV2_CONSENSUSGROUP_TRY_TO_REMOVE_EVENT_AFTER,
                   consensusGroupId,
                   event),
-          "IoTConsensusV2-ConsensusGroup-%s: try to remove event-%s after 
iotConsensusV2AsyncConnector being closed. Ignore it.",
+          
DataNodePipeMessages.IOTCONSENSUSV2_CONSENSUSGROUP_TRY_TO_REMOVE_EVENT_AFTER,
           consensusGroupId,
           event);
       return;
@@ -254,7 +254,7 @@ public class IoTConsensusV2AsyncSink extends IoTDBSink 
implements ConsensusPipeS
                   consensusGroupId,
                   event,
                   transferBuffer.size()),
-          "IoTConsensusV2-ConsensusGroup-%s: event-%s not found in 
transferBuffer, skip removing. queue size = %s",
+          
DataNodePipeMessages.IOTCONSENSUSV2_CONSENSUSGROUP_EVENT_NOT_FOUND_IN_TRANSFERBUFFER,
           consensusGroupId,
           event,
           transferBuffer.size());
@@ -540,7 +540,7 @@ public class IoTConsensusV2AsyncSink extends IoTDBSink 
implements ConsensusPipeS
                           
.IOTCONSENSUSV2_CONSENSUSGROUP_RETRYEVENTQUEUE_IS_NOT_EMPTY_AFTER,
                       consensusGroupId,
                       retryEventQueue.size()),
-              "IoTConsensusV2-ConsensusGroup-%s: retryEventQueue is not empty 
after 20 seconds. retryQueue size: %s",
+              
DataNodePipeMessages.IOTCONSENSUSV2_CONSENSUSGROUP_RETRYEVENTQUEUE_IS_NOT_EMPTY_AFTER,
               consensusGroupId,
               retryEventQueue.size());
           return;
@@ -563,7 +563,7 @@ public class IoTConsensusV2AsyncSink extends IoTDBSink 
implements ConsensusPipeS
                     retryInterval,
                     peekedEvent.getReplicateIndexForIoTV2(),
                     peekedEvent),
-            "IoTConsensusV2-ConsensusGroup-%s: retry with interval %s for 
index %s %s",
+            
DataNodePipeMessages.IOTCONSENSUSV2_CONSENSUSGROUP_RETRY_WITH_INTERVAL_FOR_INDEX,
             consensusGroupId,
             retryInterval,
             peekedEvent.getReplicateIndexForIoTV2(),
@@ -586,7 +586,8 @@ public class IoTConsensusV2AsyncSink extends IoTDBSink 
implements ConsensusPipeS
                             DataNodePipeMessages
                                 
.IOTCONSENSUSV2ASYNCCONNECTOR_DOES_NOT_SUPPORT_TRANSFER_GENERIC_EVENT,
                             peekedEvent),
-                    "IoTConsensusV2AsyncConnector does not support transfer 
generic event: %s.",
+                    DataNodePipeMessages
+                        
.IOTCONSENSUSV2ASYNCCONNECTOR_DOES_NOT_SUPPORT_TRANSFER_GENERIC_EVENT,
                     peekedEvent);
               }
             },
@@ -666,7 +667,8 @@ public class IoTConsensusV2AsyncSink extends IoTDBSink 
implements ConsensusPipeS
                   consensusGroupId,
                   event,
                   event.getReplicateIndexForIoTV2()),
-          "IoTConsensusV2-ConsensusGroup-%s: Event %s replicate index %s 
transfer failed, will be added to retry queue.",
+          DataNodePipeMessages
+              
.IOTCONSENSUSV2_CONSENSUSGROUP_EVENT_REPLICATE_INDEX_TRANSFER_FAILED_1,
           consensusGroupId,
           event,
           event.getReplicateIndexForIoTV2());
@@ -679,7 +681,7 @@ public class IoTConsensusV2AsyncSink extends IoTDBSink 
implements ConsensusPipeS
                   consensusGroupId,
                   event,
                   event.getReplicateIndexForIoTV2()),
-          "IoTConsensusV2-ConsensusGroup-%s: Event %s replicate index %s 
transfer failed, added to retry queue failed, this event will be ignored.",
+          
DataNodePipeMessages.IOTCONSENSUSV2_CONSENSUSGROUP_EVENT_REPLICATE_INDEX_TRANSFER_FAILED,
           consensusGroupId,
           event,
           event.getReplicateIndexForIoTV2());
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2DeleteEventHandler.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2DeleteEventHandler.java
index 36dfdffbf42..bcb850ea45a 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2DeleteEventHandler.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2DeleteEventHandler.java
@@ -112,7 +112,7 @@ public class IoTConsensusV2DeleteEventHandler
                 event.getReplicateIndexForIoTV2(),
                 e),
         e,
-        "Failed to transfer PipeDeleteNodeEvent %s (committer key=%s, 
replicate index=%s).",
+        
DataNodePipeMessages.FAILED_TO_TRANSFER_PIPEDELETENODEEVENT_COMMITTER_KEY_REPLICATE,
         event.coreReportMessage(),
         event.getCommitterKey(),
         event.getReplicateIndexForIoTV2());
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2TabletBatchEventHandler.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2TabletBatchEventHandler.java
index b107b7fe064..54d8b3e6319 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2TabletBatchEventHandler.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2TabletBatchEventHandler.java
@@ -135,7 +135,7 @@ public class IoTConsensusV2TabletBatchEventHandler
                 pipeNames,
                 exception),
         exception,
-        "IoTConsensusV2: Failed to transfer TabletInsertionEvent batch. Total 
failed events: %s, related pipe names: %s",
+        
DataNodePipeMessages.IOTCONSENSUSV2_FAILED_TO_TRANSFER_TABLETINSERTIONEVENT_BATCH_TOTAL,
         events.size(),
         pipeNames);
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2TabletInsertionEventHandler.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2TabletInsertionEventHandler.java
index a74e334d5e5..3e1efd17088 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2TabletInsertionEventHandler.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2TabletInsertionEventHandler.java
@@ -124,7 +124,7 @@ public abstract class 
IoTConsensusV2TabletInsertionEventHandler<
                 event.getReplicateIndexForIoTV2(),
                 exception),
         exception,
-        "Failed to transfer TabletInsertionEvent %s (committer key=%s, 
replicate index=%s).",
+        
DataNodePipeMessages.FAILED_TO_TRANSFER_TABLETINSERTIONEVENT_COMMITTER_KEY_REPLICATE,
         event.coreReportMessage(),
         event.getCommitterKey(),
         event.getReplicateIndexForIoTV2());
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2TsFileInsertionEventHandler.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2TsFileInsertionEventHandler.java
index 52815e645bf..8ebff374531 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2TsFileInsertionEventHandler.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/iotconsensusv2/handler/IoTConsensusV2TsFileInsertionEventHandler.java
@@ -320,7 +320,7 @@ public class IoTConsensusV2TsFileInsertionEventHandler
                 event.getReplicateIndexForIoTV2(),
                 exception),
         exception,
-        "IoTConsensusV2-%s: Failed to transfer TsFileInsertionEvent %s 
(committer key %s, replicate index %s).",
+        
DataNodePipeMessages.IOTCONSENSUSV2_FAILED_TO_TRANSFER_TSFILEINSERTIONEVENT_COMMITTER_KEY,
         consensusPipeName,
         tsFile,
         event.getCommitterKey(),
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/OpcUaSink.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/OpcUaSink.java
index 9ad0d81ddbe..ea32d6263aa 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/OpcUaSink.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/OpcUaSink.java
@@ -190,7 +190,8 @@ public class OpcUaSink implements PipeConnector {
       validator.validate(
           CONNECTOR_OPC_UA_MODEL_CLIENT_SERVER_VALUE::equals,
           String.format(
-              "When the OPC UA sink points to an outer server or sets 
'with-quality' to true, the %s or %s must be %s.",
+              DataNodePipeMessages
+                  
.OPC_UA_SINK_MODEL_MUST_BE_CLIENT_SERVER_WHEN_OUTER_OR_WITH_QUALITY,
               CONNECTOR_OPC_UA_MODEL_KEY,
               SINK_OPC_UA_MODEL_KEY,
               CONNECTOR_OPC_UA_MODEL_CLIENT_SERVER_VALUE),
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/client/IoTDBOpcUaClient.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/client/IoTDBOpcUaClient.java
index 9aea22ab3e3..62e489b2e1f 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/client/IoTDBOpcUaClient.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/client/IoTDBOpcUaClient.java
@@ -152,7 +152,7 @@ public class IoTDBOpcUaClient {
       if (Objects.nonNull(sink.getValueName()) && 
!sink.getValueName().equals(name)) {
         PipeLogger.log(
             LOGGER::warn,
-            "When the 'with-quality' mode is enabled, the measurement must be 
either \"value-name\" or \"quality-name\"");
+            
DataNodePipeMessages.WITH_QUALITY_MEASUREMENT_MUST_BE_VALUE_OR_QUALITY_NAME);
         continue;
       }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/server/OpcUaNameSpace.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/server/OpcUaNameSpace.java
index 4b7bac5a1d2..f95e8ed245b 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/server/OpcUaNameSpace.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/server/OpcUaNameSpace.java
@@ -292,7 +292,7 @@ public class OpcUaNameSpace extends 
ManagedNamespaceWithLifecycle {
       if (Objects.nonNull(sink.getValueName()) && 
!sink.getValueName().equals(name)) {
         PipeLogger.log(
             LOGGER::warn,
-            "When the 'with-quality' mode is enabled, the measurement must be 
either \"value-name\" or \"quality-name\"");
+            
DataNodePipeMessages.WITH_QUALITY_MEASUREMENT_MUST_BE_VALUE_OR_QUALITY_NAME);
         continue;
       }
       final UaVariableNode measurementNode;
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/IoTDBDataRegionAsyncSink.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/IoTDBDataRegionAsyncSink.java
index 250ebeabb39..213e43ab0b8 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/IoTDBDataRegionAsyncSink.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/IoTDBDataRegionAsyncSink.java
@@ -281,7 +281,7 @@ public class IoTDBDataRegionAsyncSink extends IoTDBSink 
implements PipeSinkWithS
             ignored ->
                 
LOGGER.warn(DataNodePipeMessages.FAILED_TO_TRANSFER_TSFILE_BATCH, 
dbTsFilePairs, e),
             e,
-            "Failed to transfer tsfile batch (%s).",
+            DataNodePipeMessages.FAILED_TO_TRANSFER_TSFILE_BATCH,
             dbTsFilePairs);
         if (eventsHadBeenAddedToRetryQueue.compareAndSet(false, true)) {
           addFailureEventsToRetryQueue(events, e);
@@ -489,7 +489,7 @@ public class IoTDBDataRegionAsyncSink extends IoTDBSink 
implements PipeSinkWithS
                       pipeTransferTsFileHandler.getTsFile(),
                       e),
               e,
-              "Transfer tsfile event %s asynchronously was interrupted.",
+              
DataNodePipeMessages.TRANSFER_TSFILE_EVENT_ASYNCHRONOUSLY_WAS_INTERRUPTED,
               pipeTransferTsFileHandler.getTsFile());
         }
 
@@ -501,7 +501,7 @@ public class IoTDBDataRegionAsyncSink extends IoTDBSink 
implements PipeSinkWithS
                     pipeTransferTsFileHandler.getTsFile(),
                     e),
             e,
-            "Failed to transfer tsfile event %s asynchronously.",
+            
DataNodePipeMessages.FAILED_TO_TRANSFER_TSFILE_EVENT_ASYNCHRONOUSLY,
             pipeTransferTsFileHandler.getTsFile());
       }
     }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTabletBatchEventHandler.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTabletBatchEventHandler.java
index c58a828625b..d0907c45abe 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTabletBatchEventHandler.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTabletBatchEventHandler.java
@@ -118,7 +118,7 @@ public class PipeTransferTabletBatchEventHandler extends 
PipeTransferTrackableHa
       PipeLogger.log(
           LOGGER::warn,
           exception,
-          "Failed to transfer TabletInsertionEvent batch. Total failed events: 
%s, related pipe names: %s",
+          DataNodePipeMessages.FAILED_TO_TRANSFER_TABLETINSERTIONEVENT_BATCH,
           events.size(),
           
events.stream().map(EnrichedEvent::getPipeName).collect(Collectors.toSet()));
     } finally {
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTabletInsertionEventHandler.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTabletInsertionEventHandler.java
index 1500be27894..94ca8ee5fe6 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTabletInsertionEventHandler.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTabletInsertionEventHandler.java
@@ -93,7 +93,7 @@ public abstract class PipeTransferTabletInsertionEventHandler 
extends PipeTransf
       PipeLogger.log(
           LOGGER::warn,
           exception,
-          "Failed to transfer TabletInsertionEvent %s (committer key=%s, 
commit id=%s).",
+          
DataNodePipeMessages.FAILED_TO_TRANSFER_TABLETINSERTIONEVENT_COMMITTER_KEY_COMMIT_ID,
           event.coreReportMessage(),
           event.getCommitterKey(),
           event.getCommitId());
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTrackableHandler.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTrackableHandler.java
index 7ec25753ea7..53967d94a6b 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTrackableHandler.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTrackableHandler.java
@@ -161,7 +161,7 @@ public abstract class PipeTransferTrackableHandler
 
     PipeLogger.log(
         LOGGER::warn,
-        "The body size of the request is too large. The request will be 
sliced. Origin req: %s-%s. Request body size: %s, threshold: %s",
+        DataNodePipeMessages.TRANSFER_REQUEST_BODY_TOO_LARGE_WILL_BE_SLICED,
         req.getVersion(),
         req.getType(),
         req.body.limit(),
@@ -270,7 +270,7 @@ public abstract class PipeTransferTrackableHandler
     PipeLogger.log(
         LOGGER::warn,
         exception,
-        "Failed to transfer slice. Origin req: %s-%s. Retry the whole 
transfer.",
+        DataNodePipeMessages.FAILED_TO_TRANSFER_SLICE_RETRY_WHOLE_TRANSFER,
         originalReq.getVersion(),
         originalReq.getType());
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTsFileHandler.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTsFileHandler.java
index 700f241eb1f..4c25d03de53 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTsFileHandler.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/handler/PipeTransferTsFileHandler.java
@@ -156,7 +156,7 @@ public class PipeTransferTsFileHandler extends 
PipeTransferTrackableHandler {
                   DataNodePipeMessages.CLIENT_HAS_BEEN_RETURNED_TO_THE_POOL,
                   sink.isClosed() ? "CLOSED" : "NOT CLOSED",
                   tsFile),
-          "Client has been returned to the pool. Connector is %s. TsFile: %s.",
+          DataNodePipeMessages.CLIENT_HAS_BEEN_RETURNED_TO_THE_POOL,
           sink.isClosed() ? "CLOSED" : "NOT CLOSED",
           tsFile);
       return;
@@ -375,7 +375,7 @@ public class PipeTransferTsFileHandler extends 
PipeTransferTrackableHandler {
         PipeLogger.log(
             LOGGER::warn,
             exception,
-            "Failed to transfer TsFileInsertionEvent %s (committer key %s, 
commit id %s).",
+            
DataNodePipeMessages.FAILED_TO_TRANSFER_TSFILEINSERTIONEVENT_COMMITTER_KEY_COMMIT_ID,
             tsFile,
             
events.stream().map(EnrichedEvent::getCommitterKey).collect(Collectors.toList()),
             
events.stream().map(EnrichedEvent::getCommitIds).collect(Collectors.toList()));
@@ -383,7 +383,7 @@ public class PipeTransferTsFileHandler extends 
PipeTransferTrackableHandler {
         PipeLogger.log(
             LOGGER::warn,
             exception,
-            "Failed to transfer TsFileInsertionEvent %s (batched 
TableInsertionEvents).",
+            
DataNodePipeMessages.FAILED_TO_TRANSFER_TSFILEINSERTIONEVENT_BATCHED_TABLE_EVENTS,
             tsFile);
       }
     } catch (final Exception e) {
@@ -460,7 +460,7 @@ public class PipeTransferTsFileHandler extends 
PipeTransferTrackableHandler {
                   DataNodePipeMessages.CLIENT_HAS_BEEN_RETURNED_TO_THE_POOL,
                   sink.isClosed() ? "CLOSED" : "NOT CLOSED",
                   tsFile),
-          "Client has been returned to the pool. Connector is %s. TsFile: %s.",
+          DataNodePipeMessages.CLIENT_HAS_BEEN_RETURNED_TO_THE_POOL,
           sink.isClosed() ? "CLOSED" : "NOT CLOSED",
           tsFile);
       return;
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/writeback/WriteBackSink.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/writeback/WriteBackSink.java
index 215c43c73d8..1d60c52eeac 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/writeback/WriteBackSink.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/writeback/WriteBackSink.java
@@ -856,7 +856,7 @@ public class WriteBackSink implements PipeConnector {
     if (permissionCheckStatus.getCode() != 
TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
       PipeLogger.log(
           LOGGER::warn,
-          "Session {}: Failed to check authority for statement {}, username = 
{}, response = {}.",
+          DataNodePipeMessages.SESSION_FAILED_TO_CHECK_AUTHORITY_FOR_STATEMENT,
           session.getClientAddress() + ":" + session.getClientPort(),
           statement.getType().name(),
           session.getUsername(),

Reply via email to