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

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


The following commit(s) were added to refs/heads/err-cli-opti by this push:
     new 26d673ef699 logger
26d673ef699 is described below

commit 26d673ef699488ac54e85180c2a2e1e03eab87b1
Author: Caideyipi <[email protected]>
AuthorDate: Mon Jan 5 15:55:37 2026 +0800

    logger
---
 .../impl/schema/AlterEncodingCompressorProcedure.java   |  5 +----
 .../impl/schema/AlterLogicalViewProcedure.java          | 10 ++++++++--
 .../impl/schema/DataNodeRegionTaskExecutor.java         | 17 ++++++++++++++++-
 .../impl/schema/DataNodeTSStatusTaskExecutor.java       |  6 ++++++
 .../impl/schema/DeactivateTemplateProcedure.java        |  4 ++--
 .../impl/schema/DeleteLogicalViewProcedure.java         |  9 +++++++--
 .../impl/schema/DeleteTimeSeriesProcedure.java          |  9 +++++++--
 .../confignode/procedure/impl/schema/SchemaUtils.java   | 10 ++++++++--
 .../procedure/impl/schema/SetTemplateProcedure.java     | 10 ++++++++--
 .../impl/schema/table/DeleteDevicesProcedure.java       | 13 +++++++++----
 10 files changed, 72 insertions(+), 21 deletions(-)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterEncodingCompressorProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterEncodingCompressorProcedure.java
index 6f6d4b162d4..f0aec5ee32e 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterEncodingCompressorProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterEncodingCompressorProcedure.java
@@ -51,7 +51,6 @@ import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -176,8 +175,6 @@ public class AlterEncodingCompressorProcedure
                     .setCompressor(compressor)
                     .setEncoding(encoding))) {
 
-          private final Map<TDataNodeLocation, TSStatus> failureMap = new 
HashMap<>();
-
           @Override
           protected List<TConsensusGroupId> processResponseOfOneDataNode(
               final TDataNodeLocation dataNodeLocation,
@@ -219,7 +216,7 @@ public class AlterEncodingCompressorProcedure
                     new MetadataException(
                         String.format(
                             "Alter encoding compressor %s in schema regions 
failed. Failures: %s",
-                            requestMessage, failureMap))));
+                            requestMessage, printFailureMap()))));
             interruptTask();
           }
         };
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterLogicalViewProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterLogicalViewProcedure.java
index d600db8207d..cc41d941c20 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterLogicalViewProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/AlterLogicalViewProcedure.java
@@ -59,6 +59,7 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
 import java.util.function.BiFunction;
+import java.util.stream.Collectors;
 
 public class AlterLogicalViewProcedure
     extends StateMachineProcedure<ConfigNodeProcedureEnv, 
AlterLogicalViewState> {
@@ -72,6 +73,8 @@ public class AlterLogicalViewProcedure
   private transient PathPatternTree pathPatternTree;
   private transient ByteBuffer patternTreeBytes;
 
+  protected final Map<TDataNodeLocation, TSStatus> failureMap = new 
HashMap<>();
+
   public AlterLogicalViewProcedure(final boolean isGeneratedByPipe) {
     super(isGeneratedByPipe);
   }
@@ -390,11 +393,14 @@ public class AlterLogicalViewProcedure
           new ProcedureException(
               new MetadataException(
                   String.format(
-                      "Alter view %s failed when [%s] because failed to 
execute in all replicaset of schemaRegion %s. Failure nodes: %s",
+                      "Alter view %s failed when [%s] because failed to 
execute in all replicaset of schemaRegion %s. Failure nodes: %s, statuses: %s",
                       viewPathToSourceMap.keySet(),
                       taskName,
                       consensusGroupId.id,
-                      dataNodeLocationSet))));
+                      dataNodeLocationSet.stream()
+                          .map(TDataNodeLocation::getDataNodeId)
+                          .collect(Collectors.toSet()),
+                      failureStatusList))));
       interruptTask();
     }
   }
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DataNodeRegionTaskExecutor.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DataNodeRegionTaskExecutor.java
index f632f5f1305..104128a0424 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DataNodeRegionTaskExecutor.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DataNodeRegionTaskExecutor.java
@@ -22,11 +22,13 @@ package org.apache.iotdb.confignode.procedure.impl.schema;
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
 import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
+import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.confignode.client.async.CnToDnAsyncRequestType;
 import 
org.apache.iotdb.confignode.client.async.CnToDnInternalServiceAsyncRequestManager;
 import 
org.apache.iotdb.confignode.client.async.handlers.DataNodeAsyncRequestContext;
 import org.apache.iotdb.confignode.manager.ConfigManager;
 import org.apache.iotdb.confignode.procedure.env.ConfigNodeProcedureEnv;
+import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -35,6 +37,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.function.BiFunction;
+import java.util.stream.Collectors;
 
 import static 
org.apache.iotdb.confignode.procedure.impl.schema.DataNodeRegionGroupUtil.getAllReplicaDataNodeRegionGroupMap;
 import static 
org.apache.iotdb.confignode.procedure.impl.schema.DataNodeRegionGroupUtil.getLeaderDataNodeRegionGroupMap;
@@ -48,7 +51,7 @@ public abstract class DataNodeRegionTaskExecutor<Q, R> {
   protected final CnToDnAsyncRequestType dataNodeRequestType;
   protected final BiFunction<TDataNodeLocation, List<TConsensusGroupId>, Q>
       dataNodeRequestGenerator;
-
+  protected final Map<TDataNodeLocation, TSStatus> failureMap = new 
HashMap<>();
   private boolean isInterrupted = false;
 
   protected DataNodeRegionTaskExecutor(
@@ -229,4 +232,16 @@ public abstract class DataNodeRegionTaskExecutor<Q, R> {
    */
   protected abstract void onAllReplicasetFailure(
       final TConsensusGroupId consensusGroupId, final Set<TDataNodeLocation> 
dataNodeLocationSet);
+
+  protected String printFailureMap() {
+    return failureMap.entrySet().stream()
+        .collect(
+            Collectors.toMap(
+                entry -> "DataNodeId: " + entry.getKey().getDataNodeId(),
+                entry ->
+                    entry.getValue().getCode() == 
TSStatusCode.MULTIPLE_ERROR.getStatusCode()
+                        ? entry.getValue().getSubStatus()
+                        : entry.getValue()))
+        .toString();
+  }
 }
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DataNodeTSStatusTaskExecutor.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DataNodeTSStatusTaskExecutor.java
index 700cb3a9a49..72c31a94048 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DataNodeTSStatusTaskExecutor.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/DataNodeTSStatusTaskExecutor.java
@@ -56,6 +56,7 @@ public abstract class DataNodeTSStatusTaskExecutor<Q>
       final TSStatus response) {
     final List<TConsensusGroupId> failedRegionList = new ArrayList<>();
     if (response.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+      failureMap.remove(dataNodeLocation);
       return failedRegionList;
     }
 
@@ -69,6 +70,11 @@ public abstract class DataNodeTSStatusTaskExecutor<Q>
     } else {
       failedRegionList.addAll(consensusGroupIdList);
     }
+    if (!failedRegionList.isEmpty()) {
+      failureMap.put(dataNodeLocation, response);
+    } else {
+      failureMap.remove(dataNodeLocation);
+    }
     return failedRegionList;
   }
 }
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 0e4a17887c9..c158e9b828f 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
@@ -465,12 +465,12 @@ public class DeactivateTemplateProcedure
           new ProcedureException(
               new MetadataException(
                   String.format(
-                      "Deactivate template of %s failed when [%s] because 
failed to execute in all replicaset of %s %s. Failure nodes: %s",
+                      "Deactivate template of %s failed when [%s] because 
failed to execute in all replicaset of %s %s. Failure: %s",
                       requestMessage,
                       taskName,
                       consensusGroupId.type,
                       consensusGroupId.id,
-                      dataNodeLocationSet))));
+                      printFailureMap()))));
       interruptTask();
     }
   }
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 1cfead14fcf..1ea85f0ee29 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
@@ -164,6 +164,11 @@ public class DeleteLogicalViewProcedure
             } else {
               failedRegionList.addAll(consensusGroupIdList);
             }
+            if (!failedRegionList.isEmpty()) {
+              failureMap.put(dataNodeLocation, response);
+            } else {
+              failureMap.remove(dataNodeLocation);
+            }
             return failedRegionList;
           }
         };
@@ -357,8 +362,8 @@ public class DeleteLogicalViewProcedure
           new ProcedureException(
               new MetadataException(
                   String.format(
-                      "Delete view %s failed when [%s] because failed to 
execute in all replicaset of schemaRegion %s. Failure nodes: %s",
-                      requestMessage, taskName, consensusGroupId.id, 
dataNodeLocationSet))));
+                      "Delete view %s failed when [%s] because failed to 
execute in all replicaset of schemaRegion %s. Failures: %s",
+                      requestMessage, taskName, consensusGroupId.id, 
printFailureMap()))));
       interruptTask();
     }
   }
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 c49f80948fc..316cd0c8e4e 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
@@ -185,6 +185,11 @@ public class DeleteTimeSeriesProcedure
             } else {
               failedRegionList.addAll(consensusGroupIdList);
             }
+            if (!failedRegionList.isEmpty()) {
+              failureMap.put(dataNodeLocation, response);
+            } else {
+              failureMap.remove(dataNodeLocation);
+            }
             return failedRegionList;
           }
         };
@@ -446,12 +451,12 @@ public class DeleteTimeSeriesProcedure
           new ProcedureException(
               new MetadataException(
                   String.format(
-                      "Delete time series %s failed when [%s] because failed 
to execute in all replicaset of %s %s. Failure nodes: %s",
+                      "Delete time series %s failed when [%s] because failed 
to execute in all replicaset of %s %s. Failures: %s",
                       requestMessage,
                       taskName,
                       consensusGroupId.type,
                       consensusGroupId.id,
-                      dataNodeLocationSet))));
+                      printFailureMap()))));
       interruptTask();
     }
   }
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/SchemaUtils.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/SchemaUtils.java
index e2ab08e9366..644b8658876 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/SchemaUtils.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/SchemaUtils.java
@@ -182,6 +182,7 @@ public class SchemaUtils {
                 respList.add(response);
                 List<TConsensusGroupId> failedRegionList = new ArrayList<>();
                 if (response.getStatus().getCode() == 
TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+                  failureMap.remove(dataNodeLocation);
                   return failedRegionList;
                 }
 
@@ -195,6 +196,11 @@ public class SchemaUtils {
                 } else {
                   failedRegionList.addAll(consensusGroupIdList);
                 }
+                if (!failedRegionList.isEmpty()) {
+                  failureMap.put(dataNodeLocation, response.getStatus());
+                } else {
+                  failureMap.remove(dataNodeLocation);
+                }
                 return failedRegionList;
               }
 
@@ -204,8 +210,8 @@ public class SchemaUtils {
                 exception[0] =
                     new MetadataException(
                         String.format(
-                            "Failed to execute in all replicaset of 
schemaRegion %s when checking templates on path %s. Failure nodes: %s",
-                            consensusGroupId.id, deleteDatabasePatternPaths, 
dataNodeLocationSet));
+                            "Failed to execute in all replicaset of 
schemaRegion %s when checking templates on path %s. Failures: %s",
+                            consensusGroupId.id, deleteDatabasePatternPaths, 
printFailureMap()));
                 interruptTask();
               }
             };
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 5509037c6fa..95a88ae5349 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
@@ -293,6 +293,7 @@ public class SetTemplateProcedure
                 respList.add(response);
                 final List<TConsensusGroupId> failedRegionList = new 
ArrayList<>();
                 if (response.getStatus().getCode() == 
TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+                  failureMap.remove(dataNodeLocation);
                   return failedRegionList;
                 }
 
@@ -308,6 +309,11 @@ public class SetTemplateProcedure
                 } else {
                   failedRegionList.addAll(consensusGroupIdList);
                 }
+                if (!failedRegionList.isEmpty()) {
+                  failureMap.put(dataNodeLocation, response.getStatus());
+                } else {
+                  failureMap.remove(dataNodeLocation);
+                }
                 return failedRegionList;
               }
 
@@ -320,11 +326,11 @@ public class SetTemplateProcedure
                         new MetadataException(
                             String.format(
                                 "Set template %s to %s failed when [check time 
series existence on DataNode] because "
-                                    + "failed to check time series existence 
in all replicaset of schemaRegion %s. Failure nodes: %s",
+                                    + "failed to check time series existence 
in all replicaset of schemaRegion %s. Failures: %s",
                                 templateName,
                                 templateSetPath,
                                 consensusGroupId.id,
-                                dataNodeLocationSet))));
+                                printFailureMap()))));
                 interruptTask();
               }
             };
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/table/DeleteDevicesProcedure.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/table/DeleteDevicesProcedure.java
index c093084e1e0..389678a49c0 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/table/DeleteDevicesProcedure.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/table/DeleteDevicesProcedure.java
@@ -33,7 +33,7 @@ import 
org.apache.iotdb.confignode.consensus.request.write.pipe.payload.PipeEnri
 import org.apache.iotdb.confignode.manager.ClusterManager;
 import org.apache.iotdb.confignode.procedure.env.ConfigNodeProcedureEnv;
 import org.apache.iotdb.confignode.procedure.exception.ProcedureException;
-import 
org.apache.iotdb.confignode.procedure.impl.schema.DataNodeRegionTaskExecutor;
+import 
org.apache.iotdb.confignode.procedure.impl.schema.DataNodeTSStatusTaskExecutor;
 import org.apache.iotdb.confignode.procedure.state.schema.DeleteDevicesState;
 import org.apache.iotdb.confignode.procedure.store.ProcedureType;
 import org.apache.iotdb.consensus.exception.ConsensusException;
@@ -163,7 +163,7 @@ public class DeleteDevicesProcedure extends 
AbstractAlterOrDropTableProcedure<De
       return;
     }
     final List<TSStatus> successResult = new ArrayList<>();
-    new 
DataNodeRegionTaskExecutor<TTableDeviceDeletionWithPatternAndFilterReq, 
TSStatus>(
+    new 
DataNodeTSStatusTaskExecutor<TTableDeviceDeletionWithPatternAndFilterReq>(
         env,
         relatedSchemaRegionGroup,
         false,
@@ -194,6 +194,11 @@ public class DeleteDevicesProcedure extends 
AbstractAlterOrDropTableProcedure<De
         } else {
           failedRegionList.addAll(consensusGroupIdList);
         }
+        if (!failedRegionList.isEmpty()) {
+          failureMap.put(dataNodeLocation, response);
+        } else {
+          failureMap.remove(dataNodeLocation);
+        }
         return failedRegionList;
       }
 
@@ -205,13 +210,13 @@ public class DeleteDevicesProcedure extends 
AbstractAlterOrDropTableProcedure<De
             new ProcedureException(
                 new MetadataException(
                     String.format(
-                        "[%s] for %s.%s failed when construct black list for 
table because failed to execute in all replicaset of %s %s. Failure nodes: %s",
+                        "[%s] for %s.%s failed when construct black list for 
table because failed to execute in all replicaset of %s %s. Failures: %s",
                         this.getClass().getSimpleName(),
                         database,
                         tableName,
                         consensusGroupId.type,
                         consensusGroupId.id,
-                        dataNodeLocationSet))));
+                        printFailureMap()))));
         interruptTask();
       }
     }.execute();

Reply via email to