private Map<StateHandleID, CompletableFuture<StreamStateHandle>> createUploadFutures( Map<StateHandleID, Path> files, CheckpointStreamFactory checkpointStreamFactory, CloseableRegistry closeableRegistry) { Map<StateHandleID, CompletableFuture<StreamStateHandle>> futures = new HashMap<>(files.size()); for (Map.Entry<StateHandleID, Path> entry : files.entrySet()) { final Supplier<StreamStateHandle> supplier = CheckedSupplier.unchecked(() -> uploadLocalFileToCheckpointFs(entry.getValue(), checkpointStreamFactory, closeableRegistry)); futures.put(entry.getKey(), CompletableFuture.supplyAsync(supplier, executorService)); } return futures; }
static <R> Supplier<R> unchecked(CheckedSupplier<R> checkedSupplier) { return () -> { try { return checkedSupplier.get(); } catch (Exception e) { throw new RuntimeException(e); } }; }
private Collection<JobID> waitForRunningJobs(ClusterClient<?> clusterClient, Time timeout) throws ExecutionException, InterruptedException { return FutureUtils.retrySuccessfulWithDelay( CheckedSupplier.unchecked(clusterClient::listJobs), Time.milliseconds(50L), Deadline.fromNow(Duration.ofMillis(timeout.toMilliseconds())), jobs -> !jobs.isEmpty(), TestingUtils.defaultScheduledExecutor()) .get() .stream() .map(JobStatusMessage::getJobId) .collect(Collectors.toList()); }
/** * @return wrapped {@link OptionalFailure} returned by {@code valueSupplier} or wrapped failure if * {@code valueSupplier} has thrown an {@link Exception}. */ public static <T> OptionalFailure<T> createFrom(CheckedSupplier<T> valueSupplier) { try { return of(valueSupplier.get()); } catch (Exception ex) { return ofFailure(ex); } }
private <C> CompletableFuture<C> retry( CheckedSupplier<CompletableFuture<C>> operation, Predicate<Throwable> retryPredicate) { return FutureUtils.retryWithDelay( CheckedSupplier.unchecked(operation), restClusterClientConfiguration.getRetryMaxAttempts(), Time.milliseconds(restClusterClientConfiguration.getRetryDelay()), retryPredicate, new ScheduledExecutorServiceAdapter(retryExecutorService)); }
static <R> Supplier<R> unchecked(CheckedSupplier<R> checkedSupplier) { return () -> { try { return checkedSupplier.get(); } catch (Exception e) { throw new RuntimeException(e); } }; }
private CompletableFuture<JobManagerRunner> createJobManagerRunner(JobGraph jobGraph) { final RpcService rpcService = getRpcService(); final CompletableFuture<JobManagerRunner> jobManagerRunnerFuture = CompletableFuture.supplyAsync( CheckedSupplier.unchecked(() -> jobManagerRunnerFactory.createJobManagerRunner( ResourceID.generate(), jobGraph, configuration, rpcService, highAvailabilityServices, heartbeatServices, blobServer, jobManagerSharedServices, new DefaultJobManagerJobMetricGroupFactory(jobManagerMetricGroup), fatalErrorHandler)), rpcService.getExecutor()); return jobManagerRunnerFuture.thenApply(FunctionUtils.uncheckedFunction(this::startJobManagerRunner)); }
static <R> Supplier<R> unchecked(CheckedSupplier<R> checkedSupplier) { return () -> { try { return checkedSupplier.get(); } catch (Exception e) { throw new RuntimeException(e); } }; }
private CompletableFuture<JobManagerRunner> createJobManagerRunner(JobGraph jobGraph) { final RpcService rpcService = getRpcService(); final CompletableFuture<JobManagerRunner> jobManagerRunnerFuture = CompletableFuture.supplyAsync( CheckedSupplier.unchecked(() -> jobManagerRunnerFactory.createJobManagerRunner( ResourceID.generate(), jobGraph, configuration, rpcService, highAvailabilityServices, heartbeatServices, blobServer, jobManagerSharedServices, new DefaultJobManagerJobMetricGroupFactory(jobManagerMetricGroup), fatalErrorHandler)), rpcService.getExecutor()); return jobManagerRunnerFuture.thenApply(FunctionUtils.uncheckedFunction(this::startJobManagerRunner)); }
/** * @return wrapped {@link OptionalFailure} returned by {@code valueSupplier} or wrapped failure if * {@code valueSupplier} has thrown an {@link Exception}. */ public static <T> OptionalFailure<T> createFrom(CheckedSupplier<T> valueSupplier) { try { return of(valueSupplier.get()); } catch (Exception ex) { return ofFailure(ex); } }
private <C> CompletableFuture<C> retry( CheckedSupplier<CompletableFuture<C>> operation, Predicate<Throwable> retryPredicate) { return FutureUtils.retryWithDelay( CheckedSupplier.unchecked(operation), restClusterClientConfiguration.getRetryMaxAttempts(), Time.milliseconds(restClusterClientConfiguration.getRetryDelay()), retryPredicate, new ScheduledExecutorServiceAdapter(retryExecutorService)); }
/** * @return wrapped {@link OptionalFailure} returned by {@code valueSupplier} or wrapped failure if * {@code valueSupplier} has thrown an {@link Exception}. */ public static <T> OptionalFailure<T> createFrom(CheckedSupplier<T> valueSupplier) { try { return of(valueSupplier.get()); } catch (Exception ex) { return ofFailure(ex); } }
private <C> CompletableFuture<C> retry( CheckedSupplier<CompletableFuture<C>> operation, Predicate<Throwable> retryPredicate) { return FutureUtils.retryWithDelay( CheckedSupplier.unchecked(operation), restClusterClientConfiguration.getRetryMaxAttempts(), Time.milliseconds(restClusterClientConfiguration.getRetryDelay()), retryPredicate, new ScheduledExecutorServiceAdapter(retryExecutorService)); }