public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); }
public static Builder newBuilder(com.google.bigtable.v2.MutateRowsRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); }
@Override public void appendRequest(MutateRowsRequest request) { if (builder == null) { builder = request.toBuilder(); } else { builder.addAllEntries(request.getEntriesList()); } }
/** * Handle an RPC level failure by generating a {@link FailedMutation} for each expected entry. The * newly generated {@link FailedMutation}s will be combined with the permanentFailures to give the * caller the whole picture since the first call. This method will always throw a {@link * MutateRowsException}. */ private void handleAttemptError(Throwable rpcError) { ApiException entryError = createSyntheticErrorForRpcFailure(rpcError); ImmutableList.Builder<FailedMutation> allFailures = ImmutableList.builder(); MutateRowsRequest lastRequest = currentRequest; allFailures.addAll(permanentFailures); Builder builder = lastRequest.toBuilder().clearEntries(); List<Integer> newOriginalIndexes = Lists.newArrayList(); for (int i = 0; i < currentRequest.getEntriesCount(); i++) { int origIndex = getOriginalIndex(i); FailedMutation failedMutation = FailedMutation.create(origIndex, entryError); allFailures.add(failedMutation); if (!failedMutation.getError().isRetryable()) { permanentFailures.add(failedMutation); } else { // Schedule the mutation entry for the next RPC by adding it to the request builder and // recording its original index newOriginalIndexes.add(origIndex); builder.addEntries(lastRequest.getEntries(i)); } } currentRequest = builder.build(); originalIndexes = newOriginalIndexes; throw new MutateRowsException(rpcError, allFailures.build(), entryError.isRetryable()); }
MutateRowsRequest lastRequest = currentRequest; Builder builder = lastRequest.toBuilder().clearEntries(); List<Integer> newOriginalIndexes = Lists.newArrayList();
@Test public void partitionKeyTest() { String myTableName = NameUtil.formatTableName("my-project", "my-instance", "my-table"); MutateRowsRequest request = createRequest(2).toBuilder().setTableName(myTableName).build(); PartitionKey actual = descriptor.getBatchPartitionKey(request); assertThat(actual).isEqualTo(new PartitionKey(myTableName)); }
public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); }
public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.bigtable.v2.MutateRowsRequest prototype) {
public static Builder newBuilder(com.google.bigtable.v2.MutateRowsRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } public Builder toBuilder() {
public static Builder newBuilder(com.google.bigtable.v2.MutateRowsRequest prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); }
@Override public void appendRequest(MutateRowsRequest request) { if (builder == null) { builder = request.toBuilder(); } else { builder.addAllEntries(request.getEntriesList()); } }
/** * Handle an RPC level failure by generating a {@link FailedMutation} for each expected entry. The * newly generated {@link FailedMutation}s will be combined with the permanentFailures to give the * caller the whole picture since the first call. This method will always throw a {@link * MutateRowsException}. */ private void handleAttemptError(Throwable rpcError) { ApiException entryError = createSyntheticErrorForRpcFailure(rpcError); ImmutableList.Builder<FailedMutation> allFailures = ImmutableList.builder(); MutateRowsRequest lastRequest = currentRequest; allFailures.addAll(permanentFailures); Builder builder = lastRequest.toBuilder().clearEntries(); List<Integer> newOriginalIndexes = Lists.newArrayList(); for (int i = 0; i < currentRequest.getEntriesCount(); i++) { int origIndex = getOriginalIndex(i); FailedMutation failedMutation = FailedMutation.create(origIndex, entryError); allFailures.add(failedMutation); if (!failedMutation.getError().isRetryable()) { permanentFailures.add(failedMutation); } else { // Schedule the mutation entry for the next RPC by adding it to the request builder and // recording its original index newOriginalIndexes.add(origIndex); builder.addEntries(lastRequest.getEntries(i)); } } currentRequest = builder.build(); originalIndexes = newOriginalIndexes; throw new MutateRowsException(rpcError, allFailures.build(), entryError.isRetryable()); }
/** {@inheritDoc} */ @Override public List<MutateRowsResponse> mutateRows(MutateRowsRequest request) { if (shouldOverrideAppProfile(request.getAppProfileId())) { request = request.toBuilder().setAppProfileId(clientDefaultAppProfileId).build(); } return createMutateRowsOperation(request).getBlockingResult(); }
/** {@inheritDoc} */ @Override public ListenableFuture<List<MutateRowsResponse>> mutateRowsAsync(MutateRowsRequest request) { if (shouldOverrideAppProfile(request.getAppProfileId())) { request = request.toBuilder().setAppProfileId(clientDefaultAppProfileId).build(); } return createMutateRowsOperation(request).getAsyncResult(); }
MutateRowsRequest lastRequest = currentRequest; Builder builder = lastRequest.toBuilder().clearEntries(); List<Integer> newOriginalIndexes = Lists.newArrayList();
private RetryingMutateRowsOperation createMutateRowsOperation(MutateRowsRequest request) { if (shouldOverrideAppProfile(request.getAppProfileId())) { request = request.toBuilder().setAppProfileId(clientDefaultAppProfileId).build(); } CallOptions callOptions = getCallOptions(mutateRowsRpc.getMethodDescriptor(), request); Metadata metadata = createMetadata(request.getTableName()); return new RetryingMutateRowsOperation(retryOptions, request, mutateRowsRpc, callOptions, retryExecutorService, metadata, CLOCK); }