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

ddanielr pushed a commit to branch elasticity
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/elasticity by this push:
     new 4276d14585 Fixes ExternalCompactionMetricsIT (#4046)
4276d14585 is described below

commit 4276d14585e351c2cf1837f777e374b7d264de98
Author: Daniel Roberts <ddani...@gmail.com>
AuthorDate: Tue Dec 12 15:53:43 2023 -0500

    Fixes ExternalCompactionMetricsIT (#4046)
---
 .../compaction/ExternalCompactionMetricsIT.java    | 35 +++++++++++++++-------
 1 file changed, 25 insertions(+), 10 deletions(-)

diff --git 
a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionMetricsIT.java
 
b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionMetricsIT.java
index 7993703c30..1dde2045c9 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionMetricsIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionMetricsIT.java
@@ -20,6 +20,12 @@ package org.apache.accumulo.test.compaction;
 
 import static 
org.apache.accumulo.test.compaction.ExternalCompactionTestUtils.GROUP1;
 import static 
org.apache.accumulo.test.compaction.ExternalCompactionTestUtils.GROUP2;
+import static 
org.apache.accumulo.test.compaction.ExternalCompactionTestUtils.GROUP3;
+import static 
org.apache.accumulo.test.compaction.ExternalCompactionTestUtils.GROUP4;
+import static 
org.apache.accumulo.test.compaction.ExternalCompactionTestUtils.GROUP5;
+import static 
org.apache.accumulo.test.compaction.ExternalCompactionTestUtils.GROUP6;
+import static 
org.apache.accumulo.test.compaction.ExternalCompactionTestUtils.GROUP7;
+import static 
org.apache.accumulo.test.compaction.ExternalCompactionTestUtils.GROUP8;
 import static 
org.apache.accumulo.test.compaction.ExternalCompactionTestUtils.compact;
 import static 
org.apache.accumulo.test.compaction.ExternalCompactionTestUtils.createTable;
 import static 
org.apache.accumulo.test.compaction.ExternalCompactionTestUtils.verify;
@@ -52,10 +58,8 @@ import 
org.apache.accumulo.test.metrics.TestStatsDSink.Metric;
 import org.apache.hadoop.conf.Configuration;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
-@Disabled // ELASTICITY_TODO
 public class ExternalCompactionMetricsIT extends SharedMiniClusterBase {
 
   public static class ExternalCompactionMetricsITConfig
@@ -63,10 +67,19 @@ public class ExternalCompactionMetricsIT extends 
SharedMiniClusterBase {
     @Override
     public void configureMiniCluster(MiniAccumuloConfigImpl cfg, Configuration 
coreSite) {
       ExternalCompactionTestUtils.configureMiniCluster(cfg, coreSite);
-      cfg.getClusterServerConfiguration().setNumDefaultCompactors(2);
+      cfg.getClusterServerConfiguration().setNumDefaultCompactors(0);
       // use one tserver so that queue metrics are not spread across tservers
       cfg.getClusterServerConfiguration().setNumDefaultTabletServers(1);
 
+      // Override the initial state from ExternalCompactionTestUtils to not 
create compactors
+      cfg.getClusterServerConfiguration().addCompactorResourceGroup(GROUP1, 0);
+      cfg.getClusterServerConfiguration().addCompactorResourceGroup(GROUP2, 0);
+      cfg.getClusterServerConfiguration().addCompactorResourceGroup(GROUP3, 0);
+      cfg.getClusterServerConfiguration().addCompactorResourceGroup(GROUP4, 0);
+      cfg.getClusterServerConfiguration().addCompactorResourceGroup(GROUP5, 0);
+      cfg.getClusterServerConfiguration().addCompactorResourceGroup(GROUP6, 0);
+      cfg.getClusterServerConfiguration().addCompactorResourceGroup(GROUP7, 0);
+      cfg.getClusterServerConfiguration().addCompactorResourceGroup(GROUP8, 0);
       // Tell the server processes to use a StatsDMeterRegistry that will be 
configured
       // to push all metrics to the sink we started.
       cfg.setProperty(Property.GENERAL_MICROMETER_ENABLED, "true");
@@ -122,7 +135,7 @@ public class ExternalCompactionMetricsIT extends 
SharedMiniClusterBase {
             if (shutdownTailer.get()) {
               break;
             }
-            if (s.startsWith(MetricsProducer.METRICS_MAJC_QUEUED)) {
+            if (s.startsWith(MetricsProducer.METRICS_COMPACTOR_PREFIX)) {
               queueMetrics.add(TestStatsDSink.parseStatsDMetric(s));
             }
           }
@@ -139,8 +152,8 @@ public class ExternalCompactionMetricsIT extends 
SharedMiniClusterBase {
       // wait until expected number of queued are seen in metrics
       while (!sawDCQ1_5 || !sawDCQ2_10) {
         Metric qm = queueMetrics.take();
-        sawDCQ1_5 |= match(qm, "DCQ1", "5");
-        sawDCQ2_10 |= match(qm, "DCQ2", "10");
+        sawDCQ1_5 |= match(qm, "dcq1", "5");
+        sawDCQ2_10 |= match(qm, "dcq2", "10");
       }
 
       
getCluster().getConfig().getClusterServerConfiguration().addCompactorResourceGroup(GROUP1,
 1);
@@ -153,8 +166,8 @@ public class ExternalCompactionMetricsIT extends 
SharedMiniClusterBase {
       // wait until queued goes to zero in metrics
       while (!sawDCQ1_0 || !sawDCQ2_0) {
         Metric qm = queueMetrics.take();
-        sawDCQ1_0 |= match(qm, "DCQ1", "0");
-        sawDCQ2_0 |= match(qm, "DCQ2", "0");
+        sawDCQ1_0 |= match(qm, "dcq1", "0");
+        sawDCQ2_0 |= match(qm, "dcq2", "0");
       }
 
       shutdownTailer.set(true);
@@ -163,7 +176,9 @@ public class ExternalCompactionMetricsIT extends 
SharedMiniClusterBase {
       // Wait for all external compactions to complete
       long count;
       do {
-        UtilWaitThread.sleep(100);
+        // TODO: Change this from waiting to verifying that all compactors are 
done running jobs,
+        // not just check that the jobs have been polled off the queues.
+        UtilWaitThread.sleep(10000);
         try (TabletsMetadata tm = 
getCluster().getServerContext().getAmple().readTablets()
             .forLevel(DataLevel.USER).fetch(ColumnType.ECOMP).build()) {
           count = tm.stream().mapToLong(t -> 
t.getExternalCompactions().keySet().size()).sum();
@@ -178,7 +193,7 @@ public class ExternalCompactionMetricsIT extends 
SharedMiniClusterBase {
 
   private static boolean match(Metric input, String queue, String value) {
     if (input.getTags() != null) {
-      String id = input.getTags().get("id");
+      String id = input.getTags().get("queue.id");
       if (id != null && id.equals("e." + queue) && 
input.getValue().equals(value)) {
         return true;
       }

Reply via email to