From 862b6e51f233958c5bff8c08fbc5625c267fac1e Mon Sep 17 00:00:00 2001 From: Kevin Rathbun Date: Mon, 13 Jan 2025 09:41:46 -0500 Subject: [PATCH] (trivial) removes some hardcoded fate values (#5243) Removes some hardcoded values used by Fate and Fate tests. --- .../java/org/apache/accumulo/core/fate/Fate.java | 16 ++++++++++++---- .../org/apache/accumulo/test/fate/FateIT.java | 12 ++++++------ 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/core/src/main/java/org/apache/accumulo/core/fate/Fate.java b/core/src/main/java/org/apache/accumulo/core/fate/Fate.java index de6e7073ecf..ac579176293 100644 --- a/core/src/main/java/org/apache/accumulo/core/fate/Fate.java +++ b/core/src/main/java/org/apache/accumulo/core/fate/Fate.java @@ -79,6 +79,9 @@ public class Fate { private final ExecutorService deadResCleanerExecutor; private static final EnumSet FINISHED_STATES = EnumSet.of(FAILED, SUCCESSFUL, UNKNOWN); + public static final Duration INITIAL_DELAY = Duration.ofSeconds(3); + private static final Duration DEAD_RES_CLEANUP_DELAY = Duration.ofMinutes(3); + private static final Duration POOL_WATCHER_DELAY = Duration.ofSeconds(30); private final AtomicBoolean keepRunning = new AtomicBoolean(true); private final TransferQueue workQueue; @@ -457,7 +460,7 @@ public Fate(T environment, FateStore store, boolean runDeadResCleaner, idleCountHistory.add(workQueue.getWaitingConsumerCount()); } } - }, 3, 30, SECONDS)); + }, INITIAL_DELAY.toSeconds(), getPoolWatcherDelay().toSeconds(), SECONDS)); this.transactionExecutor = pool; ScheduledExecutorService deadResCleanerExecutor = null; @@ -466,8 +469,9 @@ public Fate(T environment, FateStore store, boolean runDeadResCleaner, // reservations held by dead processes, if they exist. deadResCleanerExecutor = ThreadPools.getServerThreadPools().createScheduledExecutorService(1, store.type() + "-dead-reservation-cleaner-pool"); - ScheduledFuture deadReservationCleaner = deadResCleanerExecutor.scheduleWithFixedDelay( - new DeadReservationCleaner(), 3, getDeadResCleanupDelay().toSeconds(), SECONDS); + ScheduledFuture deadReservationCleaner = + deadResCleanerExecutor.scheduleWithFixedDelay(new DeadReservationCleaner(), + INITIAL_DELAY.toSeconds(), getDeadResCleanupDelay().toSeconds(), SECONDS); ThreadPools.watchCriticalScheduledTask(deadReservationCleaner); } this.deadResCleanerExecutor = deadResCleanerExecutor; @@ -477,7 +481,11 @@ public Fate(T environment, FateStore store, boolean runDeadResCleaner, } public Duration getDeadResCleanupDelay() { - return Duration.ofMinutes(3); + return DEAD_RES_CLEANUP_DELAY; + } + + public Duration getPoolWatcherDelay() { + return POOL_WATCHER_DELAY; } // get a transaction id back to the requester before doing any work diff --git a/test/src/main/java/org/apache/accumulo/test/fate/FateIT.java b/test/src/main/java/org/apache/accumulo/test/fate/FateIT.java index e7b3e073c9b..292bc477f0e 100644 --- a/test/src/main/java/org/apache/accumulo/test/fate/FateIT.java +++ b/test/src/main/java/org/apache/accumulo/test/fate/FateIT.java @@ -238,7 +238,7 @@ protected void testTransactionStatus(FateStore store, ServerContext sct try { // Wait for the transaction runner to be scheduled. - Thread.sleep(3000); + Thread.sleep(Fate.INITIAL_DELAY.toMillis() * 2); callStarted = new CountDownLatch(1); finishCall = new CountDownLatch(1); @@ -295,7 +295,7 @@ protected void testCancelWhileNew(FateStore store, ServerContext sctx) try { // Wait for the transaction runner to be scheduled. - Thread.sleep(3000); + Thread.sleep(Fate.INITIAL_DELAY.toMillis() * 2); callStarted = new CountDownLatch(1); finishCall = new CountDownLatch(1); @@ -330,7 +330,7 @@ protected void testCancelWhileSubmittedAndRunning(FateStore store, Serv try { // Wait for the transaction runner to be scheduled. - Thread.sleep(3000); + Thread.sleep(Fate.INITIAL_DELAY.toMillis() * 2); callStarted = new CountDownLatch(1); finishCall = new CountDownLatch(1); @@ -365,7 +365,7 @@ protected void testCancelWhileInCall(FateStore store, ServerContext sct try { // Wait for the transaction runner to be scheduled. - Thread.sleep(3000); + Thread.sleep(Fate.INITIAL_DELAY.toMillis() * 2); callStarted = new CountDownLatch(1); finishCall = new CountDownLatch(1); @@ -402,7 +402,7 @@ protected void testDeferredOverflow(FateStore store, ServerContext sctx try { // Wait for the transaction runner to be scheduled. - Thread.sleep(3000); + Thread.sleep(Fate.INITIAL_DELAY.toMillis() * 2); DeferredTestRepo.executedCalls.set(0); // Initialize the repo to have a delay of 30 seconds @@ -479,7 +479,7 @@ protected void testRepoFails(FateStore store, ServerContext sctx) throw try { // Wait for the transaction runner to be scheduled. - Thread.sleep(3000); + Thread.sleep(Fate.INITIAL_DELAY.toMillis() * 2); List expectedUndoOrder = List.of("OP3", "OP2", "OP1"); /*