This is an automated email from the ASF dual-hosted git repository.
adoroszlai 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 4abe983acf HDDS-7695. EC metrics related to replication commands don't
add up (#4152)
4abe983acf is described below
commit 4abe983acf44f6b5a5d2dbb61b6e6d2ffde48eaa
Author: Stephen O'Donnell <[email protected]>
AuthorDate: Sun Jan 8 21:36:43 2023 +0000
HDDS-7695. EC metrics related to replication commands don't add up (#4152)
---
.../replication/ContainerReplicaPendingOps.java | 8 +--
.../replication/ReplicationManagerMetrics.java | 63 +++++++++++-----------
.../TestContainerReplicaPendingOps.java | 8 +--
3 files changed, 39 insertions(+), 40 deletions(-)
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ContainerReplicaPendingOps.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ContainerReplicaPendingOps.java
index 4d10b1fc71..7add67d809 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ContainerReplicaPendingOps.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ContainerReplicaPendingOps.java
@@ -121,7 +121,7 @@ public class ContainerReplicaPendingOps {
boolean completed = completeOp(ADD, containerID, target, replicaIndex);
if (isMetricsNotNull() && completed) {
if (replicaIndex > 0) {
- replicationMetrics.incrEcReplicationCmdsCompletedTotal();
+ replicationMetrics.incrEcReplicasCreatedTotal();
} else if (replicaIndex == 0) {
replicationMetrics.incrNumReplicationCmdsCompleted();
}
@@ -143,7 +143,7 @@ public class ContainerReplicaPendingOps {
boolean completed = completeOp(DELETE, containerID, target, replicaIndex);
if (isMetricsNotNull() && completed) {
if (replicaIndex > 0) {
- replicationMetrics.incrEcDeletionCmdsCompletedTotal();
+ replicationMetrics.incrEcReplicasDeletedTotal();
} else if (replicaIndex == 0) {
replicationMetrics.incrNumDeletionCmdsCompleted();
}
@@ -214,13 +214,13 @@ public class ContainerReplicaPendingOps {
private void updateTimeoutMetrics(ContainerReplicaOp op) {
if (op.getOpType() == ADD && isMetricsNotNull()) {
if (op.getReplicaIndex() > 0) {
- replicationMetrics.incrEcReplicationCmdsTimeoutTotal();
+ replicationMetrics.incrEcReplicaCreateTimeoutTotal();
} else if (op.getReplicaIndex() == 0) {
replicationMetrics.incrNumReplicationCmdsTimeout();
}
} else if (op.getOpType() == DELETE && isMetricsNotNull()) {
if (op.getReplicaIndex() > 0) {
- replicationMetrics.incrEcDeletionCmdsTimeoutTotal();
+ replicationMetrics.incrEcReplicaDeleteTimeoutTotal();
} else if (op.getReplicaIndex() == 0) {
replicationMetrics.incrNumDeletionCmdsTimeout();
}
diff --git
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ReplicationManagerMetrics.java
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ReplicationManagerMetrics.java
index 9fcdc9c10d..e4f4e10053 100644
---
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ReplicationManagerMetrics.java
+++
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/replication/ReplicationManagerMetrics.java
@@ -153,24 +153,23 @@ public final class ReplicationManagerMetrics implements
MetricsSource {
@Metric("Number of EC Replication commands sent.")
private MutableCounterLong ecReplicationCmdsSentTotal;
- @Metric("Number of EC Deletion commands timeout.")
+ @Metric("Number of EC Replica Deletion commands sent.")
private MutableCounterLong ecDeletionCmdsSentTotal;
- @Metric("Number of EC Replication commands completed.")
- private MutableCounterLong ecReplicationCmdsCompletedTotal;
-
- @Metric("Number of EC Deletion commands completed.")
- private MutableCounterLong ecDeletionCmdsCompletedTotal;
-
- @Metric("Number of EC Deletion commands completed.")
+ @Metric("Number of EC Reconstruction commands sent.")
private MutableCounterLong ecReconstructionCmdsSentTotal;
- @Metric("Number of EC Replication commands timeout.")
- private MutableCounterLong ecReplicationCmdsTimeoutTotal;
+ @Metric("Number of EC replicas successfully created by Replication Manager.")
+ private MutableCounterLong ecReplicasCreatedTotal;
+
+ @Metric("Number of EC replicas successfully deleted by Replication Manager.")
+ private MutableCounterLong ecReplicasDeletedTotal;
- @Metric("Number of EC Deletion commands timeout.")
- private MutableCounterLong ecDeletionCmdsTimeoutTotal;
+ @Metric("Number of EC replicas scheduled to be created which timed out.")
+ private MutableCounterLong ecReplicaCreateTimeoutTotal;
+ @Metric("Number of EC replicas scheduled for delete which timed out.")
+ private MutableCounterLong ecReplicaDeleteTimeoutTotal;
public ReplicationManagerMetrics(ReplicationManager manager) {
this.registry = new MetricsRegistry(METRICS_SOURCE_NAME);
@@ -219,11 +218,11 @@ public final class ReplicationManagerMetrics implements
MetricsSource {
deletionTime.snapshot(builder, all);
ecReplicationCmdsSentTotal.snapshot(builder, all);
ecDeletionCmdsSentTotal.snapshot(builder, all);
- ecReplicationCmdsCompletedTotal.snapshot(builder, all);
- ecDeletionCmdsCompletedTotal.snapshot(builder, all);
+ ecReplicasCreatedTotal.snapshot(builder, all);
+ ecReplicasDeletedTotal.snapshot(builder, all);
ecReconstructionCmdsSentTotal.snapshot(builder, all);
- ecReplicationCmdsTimeoutTotal.snapshot(builder, all);
- ecDeletionCmdsTimeoutTotal.snapshot(builder, all);
+ ecReplicaCreateTimeoutTotal.snapshot(builder, all);
+ ecReplicasDeletedTotal.snapshot(builder, all);
}
public void unRegister() {
@@ -361,12 +360,12 @@ public final class ReplicationManagerMetrics implements
MetricsSource {
this.ecDeletionCmdsSentTotal.incr();
}
- public void incrEcReplicationCmdsCompletedTotal() {
- this.ecReplicationCmdsCompletedTotal.incr();
+ public void incrEcReplicasCreatedTotal() {
+ this.ecReplicasCreatedTotal.incr();
}
- public void incrEcDeletionCmdsCompletedTotal() {
- this.ecDeletionCmdsCompletedTotal.incr();
+ public void incrEcReplicasDeletedTotal() {
+ this.ecReplicasDeletedTotal.incr();
}
public void incrEcReconstructionCmdsSentTotal() {
@@ -383,8 +382,8 @@ public final class ReplicationManagerMetrics implements
MetricsSource {
.getPendingOpCount(ContainerReplicaOp.PendingOpType.DELETE);
}
- public void incrEcReplicationCmdsTimeoutTotal() {
- this.ecReplicationCmdsTimeoutTotal.incr();
+ public void incrEcReplicaCreateTimeoutTotal() {
+ this.ecReplicaCreateTimeoutTotal.incr();
}
public long getEcDeletionCmdsSentTotal() {
@@ -399,23 +398,23 @@ public final class ReplicationManagerMetrics implements
MetricsSource {
return ecReplicationCmdsSentTotal.value();
}
- public void incrEcDeletionCmdsTimeoutTotal() {
- this.ecDeletionCmdsTimeoutTotal.incr();
+ public void incrEcReplicaDeleteTimeoutTotal() {
+ this.ecReplicaDeleteTimeoutTotal.incr();
}
- public long getEcReplicationCmdsTimeoutTotal() {
- return ecReplicationCmdsTimeoutTotal.value();
+ public long getEcReplicaCreateTimeoutTotal() {
+ return ecReplicaCreateTimeoutTotal.value();
}
- public long getEcDeletionCmdsTimeoutTotal() {
- return ecDeletionCmdsTimeoutTotal.value();
+ public long getEcReplicaDeleteTimeoutTotal() {
+ return ecReplicaDeleteTimeoutTotal.value();
}
- public long getEcReplicationCmdsCompletedTotal() {
- return ecReplicationCmdsCompletedTotal.value();
+ public long getEcReplicasCreatedTotal() {
+ return ecReplicasCreatedTotal.value();
}
- public long getEcDeletionCmdsCompletedTotal() {
- return ecDeletionCmdsCompletedTotal.value();
+ public long getEcReplicasDeletedTotal() {
+ return ecReplicasDeletedTotal.value();
}
}
diff --git
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestContainerReplicaPendingOps.java
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestContainerReplicaPendingOps.java
index 915324195e..562b2b1369 100644
---
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestContainerReplicaPendingOps.java
+++
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/replication/TestContainerReplicaPendingOps.java
@@ -244,8 +244,8 @@ public class TestContainerReplicaPendingOps {
pendingOps.removeExpiredEntries(1000);
// Two Delete and Replication command should be timeout
- Assertions.assertEquals(metrics.getEcReplicationCmdsTimeoutTotal(), 2);
- Assertions.assertEquals(metrics.getEcDeletionCmdsTimeoutTotal(), 2);
+ Assertions.assertEquals(metrics.getEcReplicaCreateTimeoutTotal(), 2);
+ Assertions.assertEquals(metrics.getEcReplicaDeleteTimeoutTotal(), 2);
pendingOps.scheduleDeleteReplica(new ContainerID(3), dn1, 2);
pendingOps.scheduleAddReplica(new ContainerID(3), dn1, 3);
@@ -262,8 +262,8 @@ public class TestContainerReplicaPendingOps {
pendingOps.completeDeleteReplica(new ContainerID(4), dn2, 2);
pendingOps.completeAddReplica(new ContainerID(4), dn3, 4);
- Assertions.assertEquals(metrics.getEcReplicationCmdsCompletedTotal(), 2);
- Assertions.assertEquals(metrics.getEcDeletionCmdsCompletedTotal(), 2);
+ Assertions.assertEquals(metrics.getEcReplicasCreatedTotal(), 2);
+ Assertions.assertEquals(metrics.getEcReplicasDeletedTotal(), 2);
pendingOps.completeDeleteReplica(new ContainerID(3), dn1, 2);
pendingOps.completeAddReplica(new ContainerID(2), dn1, 3);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]