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,