You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "keith-turner (via GitHub)" <gi...@apache.org> on 2023/07/25 15:50:14 UTC

[GitHub] [accumulo] keith-turner commented on a diff in pull request #3653: Allow tests to override TGW interval, add Compactor job wait property

keith-turner commented on code in PR #3653:
URL: https://github.com/apache/accumulo/pull/3653#discussion_r1273754451


##########
server/compactor/src/main/java/org/apache/accumulo/compactor/Compactor.java:
##########
@@ -426,8 +426,9 @@ protected void updateCompactionCompleted(TExternalCompactionJob job, TCompaction
    * @throws RetriesExceededException thrown when retries have been exceeded
    */
   protected TExternalCompactionJob getNextJob(Supplier<UUID> uuid) throws RetriesExceededException {
+    final long checkWaitTime = getConfiguration().getTimeInMillis(Property.COMPACTOR_JOB_WAIT_TIME);
     RetryableThriftCall<TExternalCompactionJob> nextJobThriftCall =
-        new RetryableThriftCall<>(1000, RetryableThriftCall.MAX_WAIT_TIME, 0, () -> {
+        new RetryableThriftCall<>(checkWaitTime, checkWaitTime, 0, () -> {

Review Comment:
   With this change there is no longer exponential backoff when the queue keeps being empty.  The following would still allow the exponential backoff.
   
   ```suggestion
           long maxWaitTime = getConfiguration().getTimeInMillis(Property.COMPACTOR_JOB_WAIT_MAX_TIME);
           long minWaitTime = Math.min(1000, maxWaitTime);
           new RetryableThriftCall<>(minWaitTime, maxWaitTime, 0, () -> {
   ```



##########
core/src/main/java/org/apache/accumulo/core/conf/Property.java:
##########
@@ -1098,6 +1098,8 @@ public enum Property {
   @Experimental
   COMPACTOR_CLIENTPORT("compactor.port.client", "9133", PropertyType.PORT,
       "The port used for handling client connections on the compactor servers", "2.1.0"),
+  COMPACTOR_JOB_WAIT_TIME("compactor.wait.time.job", "1s", PropertyType.TIMEDURATION,
+      "The amount of time to wait between checks for the next compaction job", "4.0.0"),

Review Comment:
   ```suggestion
     COMPACTOR_JOB_WAIT_MAX_TIME("compactor.wait.time.job", "5m", PropertyType.TIMEDURATION,
         "The maximum amount of time to wait between checks for the next compaction job.  Compactors do exponential backoff when their request for work repeatedly come back empty.  This is the max time the exponential backoff can grow to", "4.0.0"),
   ```



-- 
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: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org