protected void awaitOpCompletionOrTimeOut(FutureResult futureResult) throws InterruptedException {
      int timer = 0;
      List<RequestInfo> allRequests = new ArrayList<>();
      Set<Integer> allDropped = new HashSet<>();
      while (timer < AWAIT_TIMEOUT_MS / 2 && !futureResult.completed()) {
        pollOpManager(allRequests, allDropped);
        Thread.sleep(50);
        timer += 50;
        allRequests.clear();
        allDropped.clear();
      }
    }
Polls all managers at regular intervals until the operation is complete or timeout is reached
@param futureResult {@link FutureResult} that needs to be tested for completion
@throws InterruptedException
ambry-router/src/test/java/com/github/ambry/router/NonBlockingRouterTestBase.java