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

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


The following commit(s) were added to refs/heads/main by this push:
     new 3932026f5a Fixed integration tests failing from recent metric changes 
(#6339)
3932026f5a is described below

commit 3932026f5a8bb335ea99638954c7a8db13ffba6e
Author: Dave Marion <[email protected]>
AuthorDate: Mon Apr 27 11:25:08 2026 -0400

    Fixed integration tests failing from recent metric changes (#6339)
---
 .../monitor/resources/js/server_process_common.js  |  4 +--
 .../compaction/ClassLoaderContextCompactionIT.java | 30 ++++++++++++----------
 .../compaction/ExternalCompactionProgressIT.java   |  3 ++-
 .../test/functional/MemoryStarvedMinCIT.java       |  4 ++-
 .../test/functional/MemoryStarvedScanIT.java       |  4 ++-
 .../accumulo/test/functional/ProcessMetricsIT.java | 30 ++++++++++++++--------
 .../apache/accumulo/test/metrics/MetricsIT.java    |  4 +++
 7 files changed, 50 insertions(+), 29 deletions(-)

diff --git 
a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/server_process_common.js
 
b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/server_process_common.js
index c89c658f05..fd53c76b6c 100644
--- 
a/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/server_process_common.js
+++ 
b/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/server_process_common.js
@@ -265,7 +265,7 @@ function createDataTable(table, storageKey) {
             if (data === null || data === undefined) {
               return '&mdash;';
             }
-            data = bigNumberForQuantity(data).toString()+"/s";
+            data = bigNumberForQuantity(data).toString() + "/s";
           }
           return data;
         }
@@ -277,7 +277,7 @@ function createDataTable(table, storageKey) {
             if (data === null || data === undefined) {
               return '&mdash;';
             }
-            data = bigNumberForSize(data).toString()+"/s";
+            data = bigNumberForSize(data).toString() + "/s";
           }
           return data;
         }
diff --git 
a/test/src/main/java/org/apache/accumulo/test/compaction/ClassLoaderContextCompactionIT.java
 
b/test/src/main/java/org/apache/accumulo/test/compaction/ClassLoaderContextCompactionIT.java
index 9eff081120..8946d2ae83 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/compaction/ClassLoaderContextCompactionIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/compaction/ClassLoaderContextCompactionIT.java
@@ -53,6 +53,8 @@ import org.apache.accumulo.core.metadata.schema.Ample;
 import org.apache.accumulo.core.metadata.schema.TabletMetadata;
 import org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType;
 import org.apache.accumulo.core.metadata.schema.TabletsMetadata;
+import org.apache.accumulo.core.metrics.MetricsInfo;
+import org.apache.accumulo.core.metrics.MetricsUtil;
 import org.apache.accumulo.core.spi.metrics.LoggingMeterRegistryFactory;
 import org.apache.accumulo.core.util.compaction.ExternalCompactionUtil;
 import org.apache.accumulo.core.util.threads.Threads;
@@ -124,6 +126,8 @@ public class ClassLoaderContextCompactionIT extends 
AccumuloClusterHarness {
     final AtomicLong consecutive = new AtomicLong(0);
     final AtomicLong terminations = new AtomicLong(0);
 
+    final String rgTagValue = MetricsUtil.formatString(GROUP1);
+
     final Thread thread = Threads.createNonCriticalThread("metric-tailer", () 
-> {
       while (!shutdownTailer.get()) {
         List<String> statsDMetrics = sink.getLines();
@@ -133,36 +137,36 @@ public class ClassLoaderContextCompactionIT extends 
AccumuloClusterHarness {
           }
           if (s.startsWith(COMPACTOR_MAJC_CANCELLED.getName())) {
             Metric m = TestStatsDSink.parseStatsDMetric(s);
-            if (m.getTags().containsKey("resource.group")
-                && m.getTags().get("resource.group").equals(GROUP1)) {
+            if (m.getTags().containsKey(MetricsInfo.RESOURCE_GROUP_TAG_KEY)
+                && 
m.getTags().get(MetricsInfo.RESOURCE_GROUP_TAG_KEY).equals(rgTagValue)) {
               LOG.info("{}", m);
               cancellations.set(Long.parseLong(m.getValue()));
             }
           } else if (s.startsWith(COMPACTOR_MAJC_COMPLETED.getName())) {
             Metric m = TestStatsDSink.parseStatsDMetric(s);
-            if (m.getTags().containsKey("resource.group")
-                && m.getTags().get("resource.group").equals(GROUP1)) {
+            if (m.getTags().containsKey(MetricsInfo.RESOURCE_GROUP_TAG_KEY)
+                && 
m.getTags().get(MetricsInfo.RESOURCE_GROUP_TAG_KEY).equals(rgTagValue)) {
               LOG.info("{}", m);
               completions.set(Long.parseLong(m.getValue()));
             }
           } else if (s.startsWith(COMPACTOR_MAJC_FAILED.getName())) {
             Metric m = TestStatsDSink.parseStatsDMetric(s);
-            if (m.getTags().containsKey("resource.group")
-                && m.getTags().get("resource.group").equals(GROUP1)) {
+            if (m.getTags().containsKey(MetricsInfo.RESOURCE_GROUP_TAG_KEY)
+                && 
m.getTags().get(MetricsInfo.RESOURCE_GROUP_TAG_KEY).equals(rgTagValue)) {
               LOG.info("{}", m);
               failures.set(Long.parseLong(m.getValue()));
             }
           } else if 
(s.startsWith(COMPACTOR_MAJC_FAILURES_TERMINATION.getName())) {
             Metric m = TestStatsDSink.parseStatsDMetric(s);
-            if (m.getTags().containsKey("resource.group")
-                && m.getTags().get("resource.group").equals(GROUP1)) {
+            if (m.getTags().containsKey(MetricsInfo.RESOURCE_GROUP_TAG_KEY)
+                && 
m.getTags().get(MetricsInfo.RESOURCE_GROUP_TAG_KEY).equals(rgTagValue)) {
               LOG.info("{}", m);
               terminations.set(Long.parseLong(m.getValue()));
             }
           } else if 
(s.startsWith(COMPACTOR_MAJC_FAILURES_CONSECUTIVE.getName())) {
             Metric m = TestStatsDSink.parseStatsDMetric(s);
-            if (m.getTags().containsKey("resource.group")
-                && m.getTags().get("resource.group").equals(GROUP1)) {
+            if (m.getTags().containsKey(MetricsInfo.RESOURCE_GROUP_TAG_KEY)
+                && 
m.getTags().get(MetricsInfo.RESOURCE_GROUP_TAG_KEY).equals(rgTagValue)) {
               LOG.info("{}", m);
               consecutive.getAndUpdate(prev -> Math.max(prev, 
Long.parseLong(m.getValue())));
             }
@@ -243,13 +247,13 @@ public class ClassLoaderContextCompactionIT extends 
AccumuloClusterHarness {
               == null);
       assertEquals(1, 
ExternalCompactionUtil.countCompactors(ResourceGroupId.of(GROUP1),
           (ClientContext) client));
-      Wait.waitFor(() -> failures.get() == 1);
-      Wait.waitFor(() -> consecutive.get() == 3);
+      Wait.waitFor(() -> failures.get() > 0);
+      Wait.waitFor(() -> consecutive.get() > 2);
 
       // Three failures have occurred, Compactor should shut down.
       Wait.waitFor(() -> 
ExternalCompactionUtil.countCompactors(ResourceGroupId.of(GROUP1),
           (ClientContext) client) == 0);
-      Wait.waitFor(() -> terminations.get() == 1);
+      Wait.waitFor(() -> terminations.get() > 0);
       assertEquals(0, cancellations.get());
       assertEquals(0, completions.get());
 
diff --git 
a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionProgressIT.java
 
b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionProgressIT.java
index 531fd30751..9dc30dadf8 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionProgressIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompactionProgressIT.java
@@ -53,6 +53,7 @@ import org.apache.accumulo.core.data.TableId;
 import org.apache.accumulo.core.iterators.IteratorUtil;
 import org.apache.accumulo.core.metadata.schema.TabletMetadata;
 import org.apache.accumulo.core.metadata.schema.TabletsMetadata;
+import org.apache.accumulo.core.metrics.MetricsUtil;
 import org.apache.accumulo.core.util.compaction.RunningCompactionInfo;
 import org.apache.accumulo.core.util.threads.Threads;
 import org.apache.accumulo.harness.AccumuloClusterHarness;
@@ -193,7 +194,7 @@ public class ExternalCompactionProgressIT extends 
AccumuloClusterHarness {
           // test off, so only look for metrics from the compactor.
           String process = metric.getTags().getOrDefault("process.name", 
"none");
           if (!metricName.startsWith("accumulo.compaction.entries")
-              || !process.equals(ServerId.Type.COMPACTOR.name())) {
+              || 
!process.equals(MetricsUtil.formatString(ServerId.Type.COMPACTOR.name()))) {
             continue;
           }
           int value = Integer.parseInt(metric.getValue());
diff --git 
a/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedMinCIT.java
 
b/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedMinCIT.java
index 450bf21548..75602895f3 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedMinCIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedMinCIT.java
@@ -39,6 +39,7 @@ import org.apache.accumulo.core.client.admin.TableOperations;
 import org.apache.accumulo.core.client.admin.servers.ServerId;
 import org.apache.accumulo.core.conf.Property;
 import org.apache.accumulo.core.metrics.MetricsInfo;
+import org.apache.accumulo.core.metrics.MetricsUtil;
 import org.apache.accumulo.harness.MiniClusterConfigurationCallback;
 import org.apache.accumulo.harness.SharedMiniClusterBase;
 import org.apache.accumulo.minicluster.MemoryUnit;
@@ -99,7 +100,8 @@ public class MemoryStarvedMinCIT extends 
SharedMiniClusterBase {
               MINC_PAUSED_COUNT.add(val);
             } else if (metric.getName().equals(LOW_MEMORY.getName())) {
               String process = 
metric.getTags().get(MetricsInfo.PROCESS_NAME_TAG_KEY);
-              if (process != null && 
process.contains(ServerId.Type.TABLET_SERVER.name())) {
+              if (process != null && process
+                  
.contains(MetricsUtil.formatString(ServerId.Type.TABLET_SERVER.name()))) {
                 int val = Integer.parseInt(metric.getValue());
                 LOW_MEM_DETECTED.set(val);
               }
diff --git 
a/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedScanIT.java
 
b/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedScanIT.java
index 3a2464fd15..1d9c3c8148 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedScanIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/functional/MemoryStarvedScanIT.java
@@ -49,6 +49,7 @@ import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.metadata.SystemTables;
 import org.apache.accumulo.core.metrics.MetricsInfo;
+import org.apache.accumulo.core.metrics.MetricsUtil;
 import org.apache.accumulo.core.spi.metrics.LoggingMeterRegistryFactory;
 import org.apache.accumulo.harness.MiniClusterConfigurationCallback;
 import org.apache.accumulo.harness.SharedMiniClusterBase;
@@ -121,7 +122,8 @@ public class MemoryStarvedScanIT extends 
SharedMiniClusterBase {
               SCAN_RETURNED_EARLY.add(val);
             } else if (metric.getName().equals(LOW_MEMORY.getName())) {
               String process = 
metric.getTags().get(MetricsInfo.PROCESS_NAME_TAG_KEY);
-              if (process != null && 
process.contains(ServerId.Type.TABLET_SERVER.name())) {
+              if (process != null && process
+                  
.contains(MetricsUtil.formatString(ServerId.Type.TABLET_SERVER.name()))) {
                 int val = Integer.parseInt(metric.getValue());
                 LOW_MEM_DETECTED.set(val);
               }
diff --git 
a/test/src/main/java/org/apache/accumulo/test/functional/ProcessMetricsIT.java 
b/test/src/main/java/org/apache/accumulo/test/functional/ProcessMetricsIT.java
index 20846faf78..06927af3d4 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/functional/ProcessMetricsIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/functional/ProcessMetricsIT.java
@@ -46,6 +46,7 @@ import org.apache.accumulo.core.client.ScannerBase;
 import org.apache.accumulo.core.client.admin.servers.ServerId;
 import org.apache.accumulo.core.conf.Property;
 import org.apache.accumulo.core.iterators.IteratorUtil;
+import org.apache.accumulo.core.metrics.MetricsUtil;
 import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.spi.compaction.RatioBasedCompactionPlanner;
 import org.apache.accumulo.harness.MiniClusterConfigurationCallback;
@@ -155,18 +156,21 @@ public class ProcessMetricsIT extends 
SharedMiniClusterBase {
     Wait.waitFor(() -> {
       List<String> statsDMetrics = sink.getLines();
       statsDMetrics.stream().filter(line -> 
line.startsWith(SERVER_IDLE.getName())).peek(log::info)
-          .map(TestStatsDSink::parseStatsDMetric)
-          .filter(a -> 
a.getTags().get(RESOURCE_GROUP_TAG_KEY).equals(IDLE_RESOURCE_GROUP))
+          .map(TestStatsDSink::parseStatsDMetric).filter(a -> a.getTags()
+              
.get(RESOURCE_GROUP_TAG_KEY).equals(MetricsUtil.formatString(IDLE_RESOURCE_GROUP)))
           .forEach(a -> {
             String processName = a.getTags().get(PROCESS_NAME_TAG_KEY);
             int value = Integer.parseInt(a.getValue());
             assertTrue(value == 0 || value == 1 || value == -1, "Unexpected 
value " + value);
             // check that the idle metric was emitted for each
-            if (ServerId.Type.TABLET_SERVER.name().equals(processName) && 
value == 1) {
+            if 
(MetricsUtil.formatString(ServerId.Type.TABLET_SERVER.name()).equals(processName)
+                && value == 1) {
               sawTServer.set(true);
-            } else if (ServerId.Type.SCAN_SERVER.name().equals(processName) && 
value == 1) {
+            } else if 
(MetricsUtil.formatString(ServerId.Type.SCAN_SERVER.name())
+                .equals(processName) && value == 1) {
               sawSServer.set(true);
-            } else if (ServerId.Type.COMPACTOR.name().equals(processName) && 
value == 1) {
+            } else if 
(MetricsUtil.formatString(ServerId.Type.COMPACTOR.name()).equals(processName)
+                && value == 1) {
               sawCompactor.set(true);
             }
 
@@ -193,15 +197,18 @@ public class ProcessMetricsIT extends 
SharedMiniClusterBase {
       statsDMetrics.stream().filter(line -> 
line.startsWith(LOW_MEMORY.getName())).peek(log::info)
           .map(TestStatsDSink::parseStatsDMetric).forEach(a -> {
             String processName = a.getTags().get(PROCESS_NAME_TAG_KEY);
-            if (ServerId.Type.TABLET_SERVER.name().equals(processName)) {
+            if 
(MetricsUtil.formatString(ServerId.Type.TABLET_SERVER.name()).equals(processName))
 {
               sawTServer.set(true);
-            } else if (ServerId.Type.SCAN_SERVER.name().equals(processName)) {
+            } else if 
(MetricsUtil.formatString(ServerId.Type.SCAN_SERVER.name())
+                .equals(processName)) {
               sawSServer.set(true);
-            } else if (ServerId.Type.COMPACTOR.name().equals(processName)) {
+            } else if (MetricsUtil.formatString(ServerId.Type.COMPACTOR.name())
+                .equals(processName)) {
               sawCompactor.set(true);
-            } else if (ServerId.Type.MANAGER.name().equals(processName)) {
+            } else if 
(MetricsUtil.formatString(ServerId.Type.MANAGER.name()).equals(processName)) {
               sawManager.set(true);
-            } else if 
(ServerId.Type.GARBAGE_COLLECTOR.name().equals(processName)) {
+            } else if 
(MetricsUtil.formatString(ServerId.Type.GARBAGE_COLLECTOR.name())
+                .equals(processName)) {
               sawGC.set(true);
             }
 
@@ -300,7 +307,8 @@ public class ProcessMetricsIT extends SharedMiniClusterBase 
{
     Wait.waitFor(
         () -> sink.getLines().stream().filter(line -> 
line.startsWith(SERVER_IDLE.getName()))
             .map(TestStatsDSink::parseStatsDMetric)
-            .filter(a -> a.getTags().get("process.name").equals(processName))
+            .filter(
+                a -> 
a.getTags().get("process.name").equals(MetricsUtil.formatString(processName)))
             .peek(a -> log.info("Idle metric: {}", a))
             .anyMatch(a -> Integer.parseInt(a.getValue()) == expectedValue),
         60_000, 2000, "Idle metric did not reach the expected value " + 
expectedValue);
diff --git a/test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java 
b/test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java
index e764b5c735..255fb463c1 100644
--- a/test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/metrics/MetricsIT.java
@@ -23,6 +23,8 @@ import static 
org.apache.accumulo.core.metrics.Metric.COMPACTOR_MAJC_FAILED;
 import static 
org.apache.accumulo.core.metrics.Metric.COMPACTOR_MAJC_FAILURES_CONSECUTIVE;
 import static 
org.apache.accumulo.core.metrics.Metric.COMPACTOR_MAJC_FAILURES_TERMINATION;
 import static org.apache.accumulo.core.metrics.Metric.COMPACTOR_MAJC_STUCK;
+import static org.apache.accumulo.core.metrics.Metric.EXECUTOR_COMPLETED;
+import static org.apache.accumulo.core.metrics.Metric.EXECUTOR_QUEUED;
 import static 
org.apache.accumulo.core.metrics.Metric.FATE_OPS_THREADS_INACTIVE;
 import static org.apache.accumulo.core.metrics.Metric.FATE_OPS_THREADS_TOTAL;
 import static org.apache.accumulo.core.metrics.Metric.FATE_TYPE_IN_PROGRESS;
@@ -160,6 +162,8 @@ public class MetricsIT extends ConfigurableMacBase 
implements MetricsProducer {
     // add sserver as flaky until scan server included in mini tests.
     Set<Metric> flakyMetrics = Set.of(
             COMPACTOR_MAJC_STUCK,
+            EXECUTOR_COMPLETED,
+            EXECUTOR_QUEUED,
             FATE_TYPE_IN_PROGRESS,
             MANAGER_BALANCER_MIGRATIONS_NEEDED,
             SCAN_BUSY_TIMEOUT_COUNT,

Reply via email to