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 <[email protected]>
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;