You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ed...@apache.org on 2023/03/17 20:33:24 UTC

[accumulo] branch main updated: Alternate time wait calculation using nanos (#3244)

This is an automated email from the ASF dual-hosted git repository.

edcoleman 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 540179d1f5 Alternate time wait calculation using nanos (#3244)
540179d1f5 is described below

commit 540179d1f52dcc478eee3a3ee3c5fac106736c8b
Author: EdColeman <de...@etcoleman.com>
AuthorDate: Fri Mar 17 16:33:19 2023 -0400

    Alternate time wait calculation using nanos (#3244)
    
    * Alternate time wait calculation using nanos and correct logic error
    
    ---------
    
    Co-authored-by: Ed Coleman <ed...@apache.org>
---
 .../manager/src/main/java/org/apache/accumulo/manager/Manager.java  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java b/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
index 3565bc8b89..c376435956 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java
@@ -1024,12 +1024,12 @@ public class Manager extends AbstractServer
         }
       }));
     }
-    final long timeToWaitForCompletion = Math.max(10000, rpcTimeout / 3);
+    // wait at least 10 seconds
+    final long nanosToWait = Math.max(SECONDS.toNanos(10), MILLISECONDS.toNanos(rpcTimeout) / 3);
     final long startTime = System.nanoTime();
-    final long timeToCancelTasks = startTime + MILLISECONDS.toNanos(timeToWaitForCompletion);
     // Wait for all tasks to complete
     while (!tasks.isEmpty()) {
-      boolean cancel = ((System.nanoTime() - startTime) > timeToCancelTasks);
+      boolean cancel = ((System.nanoTime() - startTime) > nanosToWait);
       Iterator<Future<?>> iter = tasks.iterator();
       while (iter.hasNext()) {
         Future<?> f = iter.next();