dlmarion commented on code in PR #5129:
URL: https://github.com/apache/accumulo/pull/5129#discussion_r1873842027


##########
core/src/main/java/org/apache/accumulo/core/fate/Fate.java:
##########
@@ -372,6 +375,39 @@ public Fate(T environment, FateStore<T> store, boolean 
runDeadResCleaner,
             break;
           }
         }
+        queueSizeHistory.clear();
+      } else {
+        // The property did not change, but should it based on available Fate 
threads? Maintain
+        // the last X minutes of available Fate threads. If always zero, then 
suggest that the
+        // MANAGER_FATE_THREADPOOL_SIZE be increased.
+        final long interval = Math.min(60, TimeUnit.MILLISECONDS
+            
.toMinutes(conf.getTimeInMillis(Property.MANAGER_FATE_QUEUE_CHECK_INTERVAL)));
+        if (interval == 0) {
+          queueSizeHistory.clear();
+        } else {
+          if (queueSizeHistory.size() >= interval * 2) { // this task runs 
every 30s
+            boolean needMoreThreads = true;
+            for (Integer i : queueSizeHistory) {
+              if (i > 0) {
+                needMoreThreads = false;

Review Comment:
   Implemented in cf88581



##########
core/src/main/java/org/apache/accumulo/core/fate/Fate.java:
##########
@@ -83,6 +84,7 @@ public class Fate<T> {
   private final AtomicBoolean keepRunning = new AtomicBoolean(true);
   private final TransferQueue<FateId> workQueue;
   private final Thread workFinder;
+  private final ConcurrentLinkedQueue<Integer> queueSizeHistory = new 
ConcurrentLinkedQueue<>();

Review Comment:
   Implemented in cf88581



-- 
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]

Reply via email to