@Test public void testCallableTooFewStatuses() throws Exception { ListenableFuture<MutateRowResponse> rowFuture1 = underTest.add(createRequestEntry()); ListenableFuture<MutateRowResponse> rowFuture2 = underTest.add(createRequestEntry()); Batch batch = underTest.currentBatch; Assert.assertFalse(rowFuture1.isDone()); Assert.assertFalse(rowFuture2.isDone()); Assert.assertEquals(2, batch.getRequestCount()); setResponse(Status.OK); Assert.assertTrue(rowFuture1.isDone()); Assert.assertTrue(rowFuture2.isDone()); Assert.assertEquals(MutateRowResponse.getDefaultInstance(), rowFuture1.get()); rowFuture1.get(); try { rowFuture2.get(); Assert.fail("Expected exception"); } catch (Exception e) { Assert.assertEquals(Status.Code.INTERNAL, Status.fromThrowable(e).getCode()); } }
public ListenableFuture<MutateRowResponse> add(MutateRowRequest request) { return add(convert(request)); }
BulkMutation { public ListenableFuture<MutateRowResponse> add(MutateRowRequest request) { return add(convert(request)); } }
BulkMutation { public ListenableFuture<MutateRowResponse> add(MutateRowRequest request) { return add(convert(request)); } @InternalApi("For internal usage only")  BulkMutation(
      BigtableTableName tableName,
      BigtableDataClient client,
      ScheduledExecutorService retryExecutorService,
      BulkOptions bulkOptions); @InternalApi("For internal usage only")  BulkMutation(
      BigtableTableName tableName,
      BigtableDataClient client,
      OperationAccountant operationAccountant,
      ScheduledExecutorService retryExecutorService,
      BulkOptions bulkOptions); }
BulkMutation { public ListenableFuture<MutateRowResponse> add(MutateRowRequest request) { return add(convert(request)); } @InternalApi("For internal usage only")  BulkMutation(
      BigtableTableName tableName,
      BigtableDataClient client,
      ScheduledExecutorService retryExecutorService,
      BulkOptions bulkOptions); @InternalApi("For internal usage only")  BulkMutation(
      BigtableTableName tableName,
      BigtableDataClient client,
      OperationAccountant operationAccountant,
      ScheduledExecutorService retryExecutorService,
      BulkOptions bulkOptions); ListenableFuture<MutateRowResponse> add(MutateRowRequest request); synchronized ListenableFuture<MutateRowResponse> add(MutateRowsRequest.Entry entry); void flush(); synchronized void sendUnsent(); boolean isFlushed(); }
BulkMutation { public ListenableFuture<MutateRowResponse> add(MutateRowRequest request) { return add(convert(request)); } @InternalApi("For internal usage only")  BulkMutation(
      BigtableTableName tableName,
      BigtableDataClient client,
      ScheduledExecutorService retryExecutorService,
      BulkOptions bulkOptions); @InternalApi("For internal usage only")  BulkMutation(
      BigtableTableName tableName,
      BigtableDataClient client,
      OperationAccountant operationAccountant,
      ScheduledExecutorService retryExecutorService,
      BulkOptions bulkOptions); ListenableFuture<MutateRowResponse> add(MutateRowRequest request); synchronized ListenableFuture<MutateRowResponse> add(MutateRowsRequest.Entry entry); void flush(); synchronized void sendUnsent(); boolean isFlushed(); @InternalApi("For internal usage only")
  static final long MAX_RPC_WAIT_TIME_NANOS; @InternalApi("For internal usage only")
  static final long MAX_NUMBER_OF_MUTATIONS; }