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();