private CompletableFuture<Collection<Slice>> scheduleAppend() { if (pageProcessingDelayMillis > 0) { return toCompletableFuture(executorService.schedule(() -> ImmutableList.of(), pageProcessingDelayMillis, MILLISECONDS)); } return NON_BLOCKED; }
private void updateSignalAndStatusFutures() { dataSignalFuture = whenAnyComplete(dataRequests); statusFuture = toCompletableFuture(nonCancellationPropagating(dataSignalFuture)); }
@Override public CompletableFuture<Collection<Slice>> finish() { // Must be wrapped in doAs entirely // Implicit FileSystem initializations are possible in HiveRecordWriter#commit -> RecordWriter#close ListenableFuture<Collection<Slice>> result = hdfsEnvironment.doAs(session.getUser(), this::doFinish); return MoreFutures.toCompletableFuture(result); }
private CompletableFuture<PrestoThriftPageResult> sendDataRequestInternal() { long start = System.nanoTime(); ListenableFuture<PrestoThriftPageResult> rowsBatchFuture = client.getRows( splitId, columnNames, maxBytesPerResponse, new PrestoThriftNullableToken(nextToken)); rowsBatchFuture = catchingThriftException(rowsBatchFuture); rowsBatchFuture.addListener(() -> readTimeNanos.addAndGet(System.nanoTime() - start), directExecutor()); return toCompletableFuture(nonCancellationPropagating(rowsBatchFuture)); }
resultFuture = catchingThriftException(resultFuture); future.set(resultFuture); return toCompletableFuture(resultFuture);
@Override public Page getNextPage() { if (isFinished()) { return null; } if (currentPage != null) { Page page = getFutureValue(currentPage); currentPage = null; return page; } pagesLeft--; completedBytes += page.getSizeInBytes(); if (pageProcessingDelayInMillis == 0) { return page; } else { currentPage = toCompletableFuture(executorService.schedule(() -> page, pageProcessingDelayInMillis, MILLISECONDS)); return null; } }
statusFuture = toCompletableFuture(nonCancellationPropagating(splitFuture)); statusFuture = toCompletableFuture(nonCancellationPropagating(splitFuture)); return false;
return toCompletableFuture(transform);
private CompletableFuture<Collection<Slice>> scheduleAppend() { if (pageProcessingDelayMillis > 0) { return toCompletableFuture(executorService.schedule(() -> ImmutableList.of(), pageProcessingDelayMillis, MILLISECONDS)); } return NON_BLOCKED; }
private CompletableFuture<Collection<Slice>> scheduleAppend() { if (pageProcessingDelayMillis > 0) { return toCompletableFuture(executorService.schedule(() -> ImmutableList.of(), pageProcessingDelayMillis, MILLISECONDS)); } return NON_BLOCKED; }
private void updateSignalAndStatusFutures() { dataSignalFuture = whenAnyComplete(dataRequests); statusFuture = toCompletableFuture(nonCancellationPropagating(dataSignalFuture)); }
@Override public CompletableFuture<Collection<Slice>> finish() { // Must be wrapped in doAs entirely // Implicit FileSystem initializations are possible in HiveRecordWriter#commit -> RecordWriter#close ListenableFuture<Collection<Slice>> result = hdfsEnvironment.doAs(session.getUser(), this::doFinish); return MoreFutures.toCompletableFuture(result); }
private CompletableFuture<PrestoThriftPageResult> sendDataRequestInternal() { long start = System.nanoTime(); ListenableFuture<PrestoThriftPageResult> rowsBatchFuture = client.getRows( splitId, columnNames, maxBytesPerResponse, new PrestoThriftNullableToken(nextToken)); rowsBatchFuture = catchingThriftException(rowsBatchFuture); rowsBatchFuture.addListener(() -> readTimeNanos.addAndGet(System.nanoTime() - start), directExecutor()); return toCompletableFuture(nonCancellationPropagating(rowsBatchFuture)); }
resultFuture = catchingThriftException(resultFuture); future.set(resultFuture); return toCompletableFuture(resultFuture);
@Test public void testToFromListenableFuture() throws Exception { assertGetUnchecked(future -> getFutureValue(toCompletableFuture(toListenableFuture(future)))); SettableFuture<?> settableFuture = SettableFuture.create(); toCompletableFuture(settableFuture).cancel(true); assertTrue(settableFuture.isCancelled()); CompletableFuture<Object> completableFuture = new CompletableFuture<>(); toListenableFuture(completableFuture).cancel(true); assertTrue(completableFuture.isCancelled()); assertEquals(tryGetFutureValue(toCompletableFuture(SettableFuture.create()), 10, MILLISECONDS), Optional.empty()); assertEquals(tryGetFutureValue(toListenableFuture(new CompletableFuture<>()), 10, MILLISECONDS), Optional.empty()); }
@Test public void testToFromListenableFuture() throws Exception { assertGetUnchecked(future -> getFutureValue(toCompletableFuture(toListenableFuture(future)))); SettableFuture<?> settableFuture = SettableFuture.create(); toCompletableFuture(settableFuture).cancel(true); assertTrue(settableFuture.isCancelled()); CompletableFuture<Object> completableFuture = new CompletableFuture<>(); toListenableFuture(completableFuture).cancel(true); assertTrue(completableFuture.isCancelled()); assertEquals(tryGetFutureValue(toCompletableFuture(SettableFuture.create()), 10, MILLISECONDS), Optional.empty()); assertEquals(tryGetFutureValue(toListenableFuture(new CompletableFuture<>()), 10, MILLISECONDS), Optional.empty()); }
@Test public void testToFromListenableFuture() throws Exception { assertGetUnchecked(future -> getFutureValue(toCompletableFuture(toListenableFuture(future)))); SettableFuture<?> settableFuture = SettableFuture.create(); toCompletableFuture(settableFuture).cancel(true); assertTrue(settableFuture.isCancelled()); CompletableFuture<Object> completableFuture = new CompletableFuture<>(); toListenableFuture(completableFuture).cancel(true); assertTrue(completableFuture.isCancelled()); assertEquals(tryGetFutureValue(toCompletableFuture(SettableFuture.create()), 10, MILLISECONDS), Optional.empty()); assertEquals(tryGetFutureValue(toListenableFuture(new CompletableFuture<>()), 10, MILLISECONDS), Optional.empty()); }
@Override public Page getNextPage() { if (isFinished()) { return null; } if (currentPage != null) { Page page = getFutureValue(currentPage); currentPage = null; return page; } pagesLeft--; completedBytes += page.getSizeInBytes(); if (pageProcessingDelayInMillis == 0) { return page; } else { currentPage = toCompletableFuture(executorService.schedule(() -> page, pageProcessingDelayInMillis, MILLISECONDS)); return null; } }
@Override public Page getNextPage() { if (isFinished()) { return null; } if (currentPage != null) { Page page = getFutureValue(currentPage); currentPage = null; return page; } pagesLeft--; completedBytes += page.getSizeInBytes(); if (pageProcessingDelayInMillis == 0) { return page; } else { currentPage = toCompletableFuture(executorService.schedule(() -> page, pageProcessingDelayInMillis, MILLISECONDS)); return null; } }
statusFuture = toCompletableFuture(nonCancellationPropagating(splitFuture)); statusFuture = toCompletableFuture(nonCancellationPropagating(splitFuture)); return false;