flink-instrumentation/workspace/flink-1.4.1-instrumented/flink-1.4.1/flink-runtime/src/main/java/org/apache/flink/runtime/concurrent/FutureUtils.java
/**
	 * Retry the given operation with the given delay in between failures.
	 *
	 * @param operation to retry
	 * @param retries number of retries
	 * @param retryDelay delay between retries
	 * @param scheduledExecutor executor to be used for the retry operation
	 * @param <T> type of the result
	 * @return Future which retries the given operation a given amount of times and delays the retry in case of failures
	 */
Retry the given operation with the given delay in between failures.
Retry the given operation with the given delay in between failures .
public static <T> CompletableFuture<T> retryWithDelay(
			final Supplier<CompletableFuture<T>> operation,
			final int retries,
			final Time retryDelay,
			final ScheduledExecutor scheduledExecutor) {
		final CompletableFuture<T> resultFuture = new CompletableFuture<>();
		retryOperationWithDelay(
			resultFuture,
			operation,
			retries,
			retryDelay,
			scheduledExecutor);
		return resultFuture;
	}
public static < T > CompletableFuture < T > retryWithDelay ( final Supplier < CompletableFuture < T > > operation , final int retries , final Time retryDelay , final ScheduledExecutor scheduledExecutor ) { final CompletableFuture < T > resultFuture = new CompletableFuture < > ( ) ; retryOperationWithDelay ( resultFuture , operation , retries , retryDelay , scheduledExecutor ) ; return resultFuture ; }
Retry the given operation with the given delay in between failures.
Retry the given operation with the given delay in between failures .