EdColeman commented on code in PR #4464:
URL: https://github.com/apache/accumulo/pull/4464#discussion_r1568769738
##########
server/gc/src/main/java/org/apache/accumulo/gc/SimpleGarbageCollector.java:
##########
@@ -297,6 +309,25 @@ public void run() {
gcCycleMetrics.incrementRunCycleCount();
long gcDelay =
getConfiguration().getTimeInMillis(Property.GC_CYCLE_DELAY);
+
+ if (NanoTime.now().subtract(lastCompactorCheck).toMillis() > gcDelay *
3) {
+ Map<String,Set<TableId>> resourceMapping = new HashMap<>();
+ for (TableId tid : AccumuloTable.allTableIds()) {
+ TableConfiguration tconf = getContext().getTableConfiguration(tid);
+ String resourceGroup =
tconf.get(TableLoadBalancer.TABLE_ASSIGNMENT_GROUP_PROPERTY);
+ resourceGroup =
+ resourceGroup == null ? Constants.DEFAULT_RESOURCE_GROUP_NAME
: resourceGroup;
+ resourceMapping.getOrDefault(resourceGroup, new
HashSet<>()).add(tid);
+ }
+ for (Entry<String,Set<TableId>> e : resourceMapping.entrySet()) {
+ if (ExternalCompactionUtil.countCompactors(e.getKey(),
getContext()) == 0) {
+ log.warn("No Compactors exist in resource group {} for system
table {}", e.getKey(),
Review Comment:
Either way. I lean towards the original text. I don't know the failures /
causes that could lead to the situation to well enough to prefer one over the
other,
With `System misconfiguration` it seems to want more information - what is
misconfigured? What if they just died because of OOM or a cosmic ray? Mainly,
could that steer someone down an incorrect path looking at config files when it
could be something else?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]