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

jackietien 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 075ededa1e2 Optimized the failure logs related to 
DataNodeRegionTaskExecutor when all replicaset execution failed
075ededa1e2 is described below

commit 075ededa1e21714306a26ea8dd9c95bbb67cdac3
Author: Caideyipi <[email protected]>
AuthorDate: Wed Jul 10 16:19:32 2024 +0800

    Optimized the failure logs related to DataNodeRegionTaskExecutor when all 
replicaset execution failed
---
 .../impl/schema/AlterLogicalViewProcedure.java         |  2 +-
 .../impl/schema/DataNodeRegionTaskExecutor.java        | 16 ++++++++--------
 .../impl/schema/DeactivateTemplateProcedure.java       | 12 ++++++++----
 .../impl/schema/DeleteLogicalViewProcedure.java        |  8 ++++----
 .../impl/schema/DeleteTimeSeriesProcedure.java         | 18 +++++++++++-------
 .../confignode/procedure/impl/schema/SchemaUtils.java  | 17 +++++++++--------
 .../procedure/impl/schema/SetTemplateProcedure.java    |  3 ++-
 7 files changed, 43 insertions(+), 33 deletions(-)

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 8c6eed06553..865c1d55ad6 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
@@ -384,7 +384,7 @@ public class AlterLogicalViewProcedure
           new ProcedureException(
               new MetadataException(
                   String.format(
-                      "Alter view %s failed when [%s] because all replicaset 
of schemaRegion %s failed. %s",
+                      "Alter view %s failed when [%s] because failed to 
execute in all replicaset of schemaRegion %s. Failure nodes: %s",
                       viewPathToSourceMap.keySet(),
                       taskName,
                       consensusGroupId.id,
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 61def5836ce..af15174daf7 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
@@ -42,7 +42,7 @@ import static 
org.apache.iotdb.confignode.procedure.impl.schema.DataNodeRegionGr
 public abstract class DataNodeRegionTaskExecutor<Q, R> {
 
   protected final ConfigManager configManager;
-  protected final Map<TConsensusGroupId, TRegionReplicaSet> 
targetSchemaRegionGroup;
+  protected final Map<TConsensusGroupId, TRegionReplicaSet> targetRegionGroup;
   protected final boolean executeOnAllReplicaset;
 
   protected final CnToDnRequestType dataNodeRequestType;
@@ -53,12 +53,12 @@ public abstract class DataNodeRegionTaskExecutor<Q, R> {
 
   protected DataNodeRegionTaskExecutor(
       ConfigManager configManager,
-      Map<TConsensusGroupId, TRegionReplicaSet> targetSchemaRegionGroup,
+      Map<TConsensusGroupId, TRegionReplicaSet> targetRegionGroup,
       boolean executeOnAllReplicaset,
       CnToDnRequestType dataNodeRequestType,
       BiFunction<TDataNodeLocation, List<TConsensusGroupId>, Q> 
dataNodeRequestGenerator) {
     this.configManager = configManager;
-    this.targetSchemaRegionGroup = targetSchemaRegionGroup;
+    this.targetRegionGroup = targetRegionGroup;
     this.executeOnAllReplicaset = executeOnAllReplicaset;
     this.dataNodeRequestType = dataNodeRequestType;
     this.dataNodeRequestGenerator = dataNodeRequestGenerator;
@@ -66,12 +66,12 @@ public abstract class DataNodeRegionTaskExecutor<Q, R> {
 
   protected DataNodeRegionTaskExecutor(
       ConfigNodeProcedureEnv env,
-      Map<TConsensusGroupId, TRegionReplicaSet> targetSchemaRegionGroup,
+      Map<TConsensusGroupId, TRegionReplicaSet> targetRegionGroup,
       boolean executeOnAllReplicaset,
       CnToDnRequestType dataNodeRequestType,
       BiFunction<TDataNodeLocation, List<TConsensusGroupId>, Q> 
dataNodeRequestGenerator) {
     this.configManager = env.getConfigManager();
-    this.targetSchemaRegionGroup = targetSchemaRegionGroup;
+    this.targetRegionGroup = targetRegionGroup;
     this.executeOnAllReplicaset = executeOnAllReplicaset;
     this.dataNodeRequestType = dataNodeRequestType;
     this.dataNodeRequestGenerator = dataNodeRequestGenerator;
@@ -82,9 +82,9 @@ public abstract class DataNodeRegionTaskExecutor<Q, R> {
     Map<TConsensusGroupId, Set<TDataNodeLocation>> failedHistory = new 
HashMap<>();
     Map<TDataNodeLocation, List<TConsensusGroupId>> 
dataNodeConsensusGroupIdMap =
         executeOnAllReplicaset
-            ? getAllReplicaDataNodeRegionGroupMap(targetSchemaRegionGroup)
+            ? getAllReplicaDataNodeRegionGroupMap(targetRegionGroup)
             : getLeaderDataNodeRegionGroupMap(
-                configManager.getLoadManager().getRegionLeaderMap(), 
targetSchemaRegionGroup);
+                configManager.getLoadManager().getRegionLeaderMap(), 
targetRegionGroup);
     while (!dataNodeConsensusGroupIdMap.isEmpty()) {
       DataNodeAsyncRequestContext<Q, R> clientHandler =
           prepareRequestHandler(dataNodeConsensusGroupIdMap);
@@ -162,7 +162,7 @@ public abstract class DataNodeRegionTaskExecutor<Q, R> {
     for (List<TConsensusGroupId> consensusGroupIdList :
         failedDataNodeConsensusGroupIdMap.values()) {
       for (TConsensusGroupId consensusGroupId : consensusGroupIdList) {
-        TRegionReplicaSet regionReplicaSet = 
targetSchemaRegionGroup.get(consensusGroupId);
+        TRegionReplicaSet regionReplicaSet = 
targetRegionGroup.get(consensusGroupId);
         TDataNodeLocation selectedDataNode = null;
         Integer leaderId = leaderMap.get(consensusGroupId);
         Set<TDataNodeLocation> failedDataNodeSet;
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 f75814ef0f9..dd3cb6b0073 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
@@ -448,13 +448,13 @@ public class DeactivateTemplateProcedure
     DeactivateTemplateRegionTaskExecutor(
         String taskName,
         ConfigNodeProcedureEnv env,
-        Map<TConsensusGroupId, TRegionReplicaSet> targetSchemaRegionGroup,
+        Map<TConsensusGroupId, TRegionReplicaSet> targetDataRegionGroup,
         boolean executeOnAllReplicaset,
         CnToDnRequestType dataNodeRequestType,
         BiFunction<TDataNodeLocation, List<TConsensusGroupId>, Q> 
dataNodeRequestGenerator) {
       super(
           env,
-          targetSchemaRegionGroup,
+          targetDataRegionGroup,
           executeOnAllReplicaset,
           dataNodeRequestType,
           dataNodeRequestGenerator);
@@ -491,8 +491,12 @@ public class DeactivateTemplateProcedure
           new ProcedureException(
               new MetadataException(
                   String.format(
-                      "Deactivate template of %s failed when [%s] because all 
replicaset of schemaRegion %s failed. %s",
-                      requestMessage, taskName, consensusGroupId.id, 
dataNodeLocationSet))));
+                      "Deactivate template of %s failed when [%s] because 
failed to execute in all replicaset of %s %s. Failure nodes: %s",
+                      requestMessage,
+                      taskName,
+                      consensusGroupId.type,
+                      consensusGroupId.id,
+                      dataNodeLocationSet))));
       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 97583dfc03b..0a83770689c 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
@@ -139,7 +139,7 @@ public class DeleteLogicalViewProcedure
     List<TSStatus> successResult = new ArrayList<>();
     DeleteLogicalViewRegionTaskExecutor<TConstructViewSchemaBlackListReq> 
constructBlackListTask =
         new 
DeleteLogicalViewRegionTaskExecutor<TConstructViewSchemaBlackListReq>(
-            "construct view schemaengine black list",
+            "construct view schema engine black list",
             env,
             targetSchemaRegionGroup,
             CnToDnRequestType.CONSTRUCT_VIEW_SCHEMA_BLACK_LIST,
@@ -208,7 +208,7 @@ public class DeleteLogicalViewProcedure
   private void deleteViewSchema(ConfigNodeProcedureEnv env) {
     DeleteLogicalViewRegionTaskExecutor<TDeleteViewSchemaReq> 
deleteTimeSeriesTask =
         new DeleteLogicalViewRegionTaskExecutor<>(
-            "delete view schemaengine",
+            "delete view in schema engine",
             env,
             env.getConfigManager().getRelatedSchemaRegionGroup(patternTree),
             CnToDnRequestType.DELETE_VIEW,
@@ -244,7 +244,7 @@ public class DeleteLogicalViewProcedure
       throws IOException, InterruptedException, ProcedureException {
     DeleteLogicalViewRegionTaskExecutor<TRollbackViewSchemaBlackListReq> 
rollbackStateTask =
         new DeleteLogicalViewRegionTaskExecutor<>(
-            "roll back view schemaengine black list",
+            "roll back view schema engine black list",
             env,
             env.getConfigManager().getRelatedSchemaRegionGroup(patternTree),
             CnToDnRequestType.ROLLBACK_VIEW_SCHEMA_BLACK_LIST,
@@ -379,7 +379,7 @@ public class DeleteLogicalViewProcedure
           new ProcedureException(
               new MetadataException(
                   String.format(
-                      "Delete view %s failed when [%s] because all replicaset 
of schemaRegion %s failed. %s",
+                      "Delete view %s failed when [%s] because failed to 
execute in all replicaset of schemaRegion %s. Failure nodes: %s",
                       requestMessage, taskName, consensusGroupId.id, 
dataNodeLocationSet))));
       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 40b8c55d237..740e42f1967 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
@@ -145,7 +145,7 @@ public class DeleteTimeSeriesProcedure
     List<TSStatus> successResult = new ArrayList<>();
     DeleteTimeSeriesRegionTaskExecutor<TConstructSchemaBlackListReq> 
constructBlackListTask =
         new DeleteTimeSeriesRegionTaskExecutor<TConstructSchemaBlackListReq>(
-            "construct schemaengine black list",
+            "construct schema engine black list",
             env,
             targetSchemaRegionGroup,
             CnToDnRequestType.CONSTRUCT_SCHEMA_BLACK_LIST,
@@ -249,7 +249,7 @@ public class DeleteTimeSeriesProcedure
   private void deleteTimeSeriesSchema(ConfigNodeProcedureEnv env) {
     DeleteTimeSeriesRegionTaskExecutor<TDeleteTimeSeriesReq> 
deleteTimeSeriesTask =
         new DeleteTimeSeriesRegionTaskExecutor<>(
-            "delete timeseries schemaengine",
+            "delete time series in schema engine",
             env,
             env.getConfigManager().getRelatedSchemaRegionGroup(patternTree),
             CnToDnRequestType.DELETE_TIMESERIES,
@@ -286,7 +286,7 @@ public class DeleteTimeSeriesProcedure
     if (deleteTimeSeriesState == DeleteTimeSeriesState.CONSTRUCT_BLACK_LIST) {
       DeleteTimeSeriesRegionTaskExecutor<TRollbackSchemaBlackListReq> 
rollbackStateTask =
           new DeleteTimeSeriesRegionTaskExecutor<>(
-              "roll back schemaengine black list",
+              "roll back schema engine black list",
               env,
               env.getConfigManager().getRelatedSchemaRegionGroup(patternTree),
               CnToDnRequestType.ROLLBACK_SCHEMA_BLACK_LIST,
@@ -395,13 +395,13 @@ public class DeleteTimeSeriesProcedure
     DeleteTimeSeriesRegionTaskExecutor(
         String taskName,
         ConfigNodeProcedureEnv env,
-        Map<TConsensusGroupId, TRegionReplicaSet> targetSchemaRegionGroup,
+        Map<TConsensusGroupId, TRegionReplicaSet> targetDataRegionGroup,
         boolean executeOnAllReplicaset,
         CnToDnRequestType dataNodeRequestType,
         BiFunction<TDataNodeLocation, List<TConsensusGroupId>, Q> 
dataNodeRequestGenerator) {
       super(
           env,
-          targetSchemaRegionGroup,
+          targetDataRegionGroup,
           executeOnAllReplicaset,
           dataNodeRequestType,
           dataNodeRequestGenerator);
@@ -438,8 +438,12 @@ public class DeleteTimeSeriesProcedure
           new ProcedureException(
               new MetadataException(
                   String.format(
-                      "Delete timeseries %s failed when [%s] because all 
replicaset of schemaRegion %s failed. %s",
-                      requestMessage, taskName, consensusGroupId.id, 
dataNodeLocationSet))));
+                      "Delete time series %s failed when [%s] because failed 
to execute in all replicaset of %s %s. Failure nodes: %s",
+                      requestMessage,
+                      taskName,
+                      consensusGroupId.type,
+                      consensusGroupId.id,
+                      dataNodeLocationSet))));
       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 86215919aa1..1df6ff508fd 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
@@ -50,7 +50,8 @@ public class SchemaUtils {
   /**
    * Check whether the specific template is activated on the given pattern 
tree.
    *
-   * @return true if the template is activated on the given pattern tree, 
false otherwise.
+   * @return {@code true} if the template is activated on the given pattern 
tree, {@code false}
+   *     otherwise.
    * @throws MetadataException if any error occurs when checking the 
activation.
    */
   public static boolean checkDataNodeTemplateActivation(
@@ -61,6 +62,7 @@ public class SchemaUtils {
     try {
       patternTree.serialize(dataOutputStream);
     } catch (IOException ignored) {
+      // ByteArrayOutputStream won't throw IOException
     }
     ByteBuffer patternTreeBytes = 
ByteBuffer.wrap(byteArrayOutputStream.toByteArray());
 
@@ -111,8 +113,8 @@ public class SchemaUtils {
                 exception[0] =
                     new MetadataException(
                         String.format(
-                            "all replicaset of schemaRegion %s failed. %s",
-                            consensusGroupId.id, dataNodeLocationSet));
+                            "Failed to execute in all replicaset of 
schemaRegion %s when checking the template %s on %s. Failure nodes: %s",
+                            consensusGroupId.id, template, patternTree, 
dataNodeLocationSet));
                 interruptTask();
               }
             };
@@ -131,13 +133,12 @@ public class SchemaUtils {
   /**
    * Check whether any template is activated on the given schema regions.
    *
-   * @return true if the template is activated on the given pattern tree, 
false otherwise.
-   * @throws MetadataException if any error occurs when checking the 
activation.
+   * @throws MetadataException if any error occurs when checking the 
activation, or there are
+   *     templates under the databases.
    */
   public static void checkSchemaRegionUsingTemplate(
       ConfigManager configManager, List<PartialPath> 
deleteDatabasePatternPaths)
       throws MetadataException {
-
     PathPatternTree deleteDatabasePatternTree = new PathPatternTree();
     for (PartialPath path : deleteDatabasePatternPaths) {
       deleteDatabasePatternTree.appendPathPattern(path);
@@ -189,8 +190,8 @@ public class SchemaUtils {
                 exception[0] =
                     new MetadataException(
                         String.format(
-                            "all replicaset of schemaRegion %s failed. %s",
-                            consensusGroupId.id, dataNodeLocationSet));
+                            "Failed to execute in all replicaset of 
schemaRegion %s when checking templates on path %s. Failure nodes: %s",
+                            consensusGroupId.id, deleteDatabasePatternPaths, 
dataNodeLocationSet));
                 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 902221285e2..2bd4068ee89 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
@@ -319,7 +319,8 @@ public class SetTemplateProcedure
                     new ProcedureException(
                         new MetadataException(
                             String.format(
-                                "Set template %s to %s failed when [check 
timeseries existence on DataNode] because all replicaset of schemaRegion %s 
failed. %s",
+                                "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",
                                 templateName,
                                 templateSetPath,
                                 consensusGroupId.id,

Reply via email to