diff --git a/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java b/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java
index f689006..7d1d753 100644
--- a/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java
+++ b/ratis-common/src/main/java/org/apache/ratis/util/JavaUtils.java
@@ -41,6 +41,7 @@
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.TimeUnit;
 import java.util.function.BiConsumer;
+import java.util.function.BooleanSupplier;
 import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.function.Supplier;
@@ -244,6 +245,18 @@
     attemptRepeatedly(CheckedRunnable.asCheckedSupplier(runnable), numAttempts, sleepTime, name, log);
   }
 
+  /** Attempt to wait the given condition to return true multiple times. */
+  static void attemptUntilTrue(
+      BooleanSupplier condition, int numAttempts, TimeDuration sleepTime, String name, Logger log)
+      throws InterruptedException {
+    Objects.requireNonNull(condition, "condition == null");
+    attempt(() -> {
+      if (!condition.getAsBoolean()) {
+        throw new IllegalStateException("Condition " + name + " is false.");
+      }
+    }, numAttempts, sleepTime, name, log);
+  }
+
   static Timer runRepeatedly(Runnable runnable, long delay, long period, TimeUnit unit) {
     final Timer timer = new Timer(true);
     timer.schedule(new TimerTask() {
