@Override public ListenableFuture<List<MutateRowsResponse>> call(BigtableDataClient client, MutateRowsRequest request) { return client.mutateRowsAsync(request); } };
private void run() { if (futures.isEmpty()) { setComplete(); return; } Preconditions.checkState(!completionFuture.isDone(), "The Batch was already run"); try { MutateRowsRequest request = builder.build(); mutateRowsFuture = client.mutateRowsAsync(request); lastRpcSentTimeNanos = clock.nanoTime(); } catch (Throwable e) { mutateRowsFuture = Futures.<List<MutateRowsResponse>> immediateFailedFuture(e); } finally { addCallback(mutateRowsFuture); } setupStalenessChecker(); }