You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by dl...@apache.org on 2026/05/26 14:52:53 UTC
(accumulo) branch main updated: Added alerts for compaction issues (#6394)
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 d0a8c5ed65 Added alerts for compaction issues (#6394)
d0a8c5ed65 is described below
commit d0a8c5ed65717caf85068a8296436d172df914d1
Author: Dave Marion <dl...@apache.org>
AuthorDate: Tue May 26 10:52:45 2026 -0400
Added alerts for compaction issues (#6394)
---
.../accumulo/monitor/next/SystemInformation.java | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/next/SystemInformation.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/next/SystemInformation.java
index 6d5b070a65..698bf8cc90 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/next/SystemInformation.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/next/SystemInformation.java
@@ -806,12 +806,25 @@ public class SystemInformation {
deployment.computeIfAbsent(server.getResourceGroup(), g -> new ConcurrentHashMap<>())
.computeIfAbsent(server.getType(), t -> new ProcessSummary()).addResponded(server);
captureRecoveriesInProgress(server, response);
+ FMetric flatbuffer = new FMetric();
switch (response.serverType) {
case COMPACTOR:
compactors
.computeIfAbsent(response.getResourceGroup(), (rg) -> ConcurrentHashMap.newKeySet())
.add(server);
updateAggregates(response, totalCompactorMetrics, rgCompactorMetrics);
+ for (ByteBuffer binary : response.getMetrics()) {
+ flatbuffer = FMetric.getRootAsFMetric(binary, flatbuffer);
+ final String metricName = flatbuffer.name();
+ if (metricName.equals(Metric.COMPACTOR_MAJC_FAILURES_CONSECUTIVE.getName())) {
+ boolean failures = getMetricValue(flatbuffer).longValue() > 0;
+ if (failures) {
+ addAlert(Info, Resource,
+ "Compactor has had " + failures + " consecutive failures: " + server.toString());
+ }
+ break;
+ }
+ }
break;
case GARBAGE_COLLECTOR:
if (gc.get() == null || !gc.get().equals(server)) {
@@ -820,7 +833,6 @@ public class SystemInformation {
break;
case MANAGER:
managers.add(server);
- FMetric flatbuffer = new FMetric();
for (ByteBuffer binary : response.getMetrics()) {
flatbuffer = FMetric.getRootAsFMetric(binary, flatbuffer);
final String metricName = flatbuffer.name();
@@ -843,6 +855,14 @@ public class SystemInformation {
if (tablets > 0) {
addAlert(High, Table, "At least " + tablets + " user table tablets require recovery");
}
+ } else if (metricName.equals(Metric.COMPACTION_ROOT_SVC_ERRORS.getName())
+ || metricName.equals(Metric.COMPACTION_META_SVC_ERRORS.getName())
+ || metricName.equals(Metric.COMPACTION_USER_SVC_ERRORS.getName())) {
+ long compactionServiceErrors = getMetricValue(flatbuffer).longValue();
+ if (compactionServiceErrors > 0) {
+ addAlert(Critical, Configuration,
+ "A compaction service configuration is invalid. Check the Manager log.");
+ }
}
}
break;