apache/beam · error

Retrying in ms.

Error message

Retrying in {} ms.

What it means

WARN logged by IOITHelper.executeWithRetry right after a failed attempt, announcing the exponential backoff delay (2^attempts * minDelay milliseconds) before the next try. Purely informational: it makes the escalating wait visible in test logs so a slow-to-start dependency doesn't look like a hang.

Solutions

  1. Tune maxAttempts/minDelay so total retry time exceeds the dependency's worst-case startup time
  2. Check the 'Attempt #n failed' log for why retries are needed
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at sdks/java/io/common/src/main/java/org/apache/beam/sdk/io/common/IOITHelper.java:94 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of apache/beam@12126d8942 (2026-09-13). Data as JSON: /api/errors/ba26ac1a085f3f78. Report an issue: GitHub.

Appendix: source

Thrown at sdks/java/io/common/src/main/java/org/apache/beam/sdk/io/common/IOITHelper.java:94

   * @param function The function to retry
   * @throws Exception
   */
  public static void executeWithRetry(int maxAttempts, long minDelay, RetryFunction function)
      throws Exception {
    int attempts = 1;
    long delay = minDelay;

    while (attempts <= maxAttempts) {
      try {
        function.run();
        return;
      } catch (Exception e) {
        LOG.warn("Attempt #{} of {} failed", attempts, maxAttempts, e);
        if (attempts == maxAttempts) {
          throw e;
        } else {
          long nextDelay = (long) Math.pow(2, attempts) * delay;
          LOG.warn("Retrying in {} ms.", nextDelay);
          Thread.sleep(nextDelay);
        }
        attempts++;
      }
    }
  }
}

View on GitHub (pinned to 12126d8942)