You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by ag...@apache.org on 2023/04/12 05:08:20 UTC
[ozone] branch master updated: HDDS-8228. Add metric for out of order/retried delete transactions (#4533)
This is an automated email from the ASF dual-hosted git repository.
agupta pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 6da7aa086a HDDS-8228. Add metric for out of order/retried delete transactions (#4533)
6da7aa086a is described below
commit 6da7aa086a6f2b2044351b7ca1bbbbeedee75f83
Author: Sumit Agrawal <su...@gmail.com>
AuthorDate: Wed Apr 12 10:38:15 2023 +0530
HDDS-8228. Add metric for out of order/retried delete transactions (#4533)
---
.../common/helpers/BlockDeletingServiceMetrics.java | 15 ++++++++++++++-
.../commandhandler/DeleteBlocksCommandHandler.java | 4 ++++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/BlockDeletingServiceMetrics.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/BlockDeletingServiceMetrics.java
index 76d1c009ef..15ce6015b4 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/BlockDeletingServiceMetrics.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/helpers/BlockDeletingServiceMetrics.java
@@ -45,6 +45,9 @@ public final class BlockDeletingServiceMetrics {
@Metric(about = "The number of failed delete blocks.")
private MutableCounterLong failureCount;
+ @Metric(about = "The number of out of order delete block transaction.")
+ private MutableCounterLong outOfOrderDeleteBlockTransactionCount;
+
private BlockDeletingServiceMetrics() {
}
@@ -91,12 +94,22 @@ public final class BlockDeletingServiceMetrics {
return failureCount.value();
}
+ public void incOutOfOrderDeleteBlockTransactionCount() {
+ this.outOfOrderDeleteBlockTransactionCount.incr();
+ }
+
+ public long getOutOfOrderDeleteBlockTransactionCount() {
+ return outOfOrderDeleteBlockTransactionCount.value();
+ }
+
@Override
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append("successCount = " + successCount.value()).append("\t")
.append("successBytes = " + successBytes.value()).append("\t")
- .append("failureCount = " + failureCount.value()).append("\t");
+ .append("failureCount = " + failureCount.value()).append("\t")
+ .append("outOfOrderDeleteBlockTransactionCount = "
+ + outOfOrderDeleteBlockTransactionCount.value()).append("\t");
return buffer.toString();
}
}
diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/DeleteBlocksCommandHandler.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/DeleteBlocksCommandHandler.java
index bbb2c6104f..86ac4e931c 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/DeleteBlocksCommandHandler.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/DeleteBlocksCommandHandler.java
@@ -32,6 +32,7 @@ import org.apache.hadoop.hdds.protocol.proto
.StorageContainerDatanodeProtocolProtos.DeletedBlocksTransaction;
import org.apache.hadoop.hdds.utils.db.Table;
import org.apache.hadoop.ozone.container.common.helpers.BlockData;
+import org.apache.hadoop.ozone.container.common.helpers.BlockDeletingServiceMetrics;
import org.apache.hadoop.ozone.container.common.helpers.ChunkInfoList;
import org.apache.hadoop.ozone.container.common.helpers
.DeletedContainerBlocksSummary;
@@ -89,12 +90,14 @@ public class DeleteBlocksCommandHandler implements CommandHandler {
private final LinkedBlockingQueue<DeleteCmdInfo> deleteCommandQueues;
private final Daemon handlerThread;
private final OzoneContainer ozoneContainer;
+ private final BlockDeletingServiceMetrics blockDeleteMetrics;
public DeleteBlocksCommandHandler(OzoneContainer container,
ConfigurationSource conf, int threadPoolSize, int queueLimit) {
this.ozoneContainer = container;
this.containerSet = container.getContainerSet();
this.conf = conf;
+ this.blockDeleteMetrics = BlockDeletingServiceMetrics.create();
this.executor = Executors.newFixedThreadPool(
threadPoolSize, new ThreadFactoryBuilder()
.setNameFormat("DeleteBlocksCommandHandlerThread-%d").build());
@@ -486,6 +489,7 @@ public class DeleteBlocksCommandHandler implements CommandHandler {
}
if (delTX.getTxID() <= containerData.getDeleteTransactionId()) {
+ blockDeleteMetrics.incOutOfOrderDeleteBlockTransactionCount();
LOG.info(String.format("Delete blocks for containerId: %d"
+ " is either received out of order or retried,"
+ " %d <= %d", containerId, delTX.getTxID(),
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org