Search in sources :

Example 16 with CheckAndMutateRowRequest

use of com.google.bigtable.v2.CheckAndMutateRowRequest in project java-bigtable by googleapis.

the class EnhancedBigtableStub method createCheckAndMutateRowCallable.

/**
 * Creates a callable chain to handle CheckAndMutateRow RPCs. THe chain will:
 *
 * <ul>
 *   <li>Convert {@link ConditionalRowMutation}s into {@link
 *       com.google.bigtable.v2.CheckAndMutateRowRequest}s.
 *   <li>Add tracing & metrics.
 * </ul>
 */
private UnaryCallable<ConditionalRowMutation, Boolean> createCheckAndMutateRowCallable() {
    String methodName = "CheckAndMutateRow";
    UnaryCallable<CheckAndMutateRowRequest, CheckAndMutateRowResponse> base = GrpcRawCallableFactory.createUnaryCallable(GrpcCallSettings.<CheckAndMutateRowRequest, CheckAndMutateRowResponse>newBuilder().setMethodDescriptor(BigtableGrpc.getCheckAndMutateRowMethod()).setParamsExtractor(new RequestParamsExtractor<CheckAndMutateRowRequest>() {

        @Override
        public Map<String, String> extract(CheckAndMutateRowRequest checkAndMutateRowRequest) {
            return ImmutableMap.of("table_name", checkAndMutateRowRequest.getTableName(), "app_profile_id", checkAndMutateRowRequest.getAppProfileId());
        }
    }).build(), settings.checkAndMutateRowSettings().getRetryableCodes());
    UnaryCallable<CheckAndMutateRowRequest, CheckAndMutateRowResponse> withStatsHeaders = new StatsHeadersUnaryCallable<>(base);
    UnaryCallable<CheckAndMutateRowRequest, CheckAndMutateRowResponse> withHeaderTracer = new HeaderTracerUnaryCallable<>(withStatsHeaders);
    UnaryCallable<CheckAndMutateRowRequest, CheckAndMutateRowResponse> retrying = Callables.retrying(withHeaderTracer, settings.checkAndMutateRowSettings(), clientContext);
    return createUserFacingUnaryCallable(methodName, new CheckAndMutateRowCallable(retrying, requestContext));
}
Also used : HeaderTracerUnaryCallable(com.google.cloud.bigtable.data.v2.stub.metrics.HeaderTracerUnaryCallable) CheckAndMutateRowResponse(com.google.bigtable.v2.CheckAndMutateRowResponse) StatsHeadersUnaryCallable(com.google.cloud.bigtable.data.v2.stub.metrics.StatsHeadersUnaryCallable) ByteString(com.google.protobuf.ByteString) Map(java.util.Map) ImmutableMap(com.google.common.collect.ImmutableMap) CheckAndMutateRowRequest(com.google.bigtable.v2.CheckAndMutateRowRequest)

Aggregations

CheckAndMutateRowRequest (com.google.bigtable.v2.CheckAndMutateRowRequest)15 Test (org.junit.Test)14 Mutation (com.google.bigtable.v2.Mutation)4 RowFilter (com.google.bigtable.v2.RowFilter)4 ByteString (com.google.protobuf.ByteString)2 RowMutations (org.apache.hadoop.hbase.client.RowMutations)2 CheckAndMutateRowResponse (com.google.bigtable.v2.CheckAndMutateRowResponse)1 HeaderTracerUnaryCallable (com.google.cloud.bigtable.data.v2.stub.metrics.HeaderTracerUnaryCallable)1 StatsHeadersUnaryCallable (com.google.cloud.bigtable.data.v2.stub.metrics.StatsHeadersUnaryCallable)1 ImmutableMap (com.google.common.collect.ImmutableMap)1 ArrayList (java.util.ArrayList)1 Map (java.util.Map)1 Delete (org.apache.hadoop.hbase.client.Delete)1 Put (org.apache.hadoop.hbase.client.Put)1 CompareOp (org.apache.hadoop.hbase.filter.CompareFilter.CompareOp)1