diff --git a/bigtable/bigtable.go b/bigtable/bigtable.go index 94e21f4b6994..3b1799c2d137 100644 --- a/bigtable/bigtable.go +++ b/bigtable/bigtable.go @@ -1086,15 +1086,12 @@ func (t *Table) apply(ctx context.Context, mt *builtinMetricsTracer, row string, } req.FalseMutations = m.mfalse.ops } - if mutationsAreRetryable(req.TrueMutations) && mutationsAreRetryable(req.FalseMutations) { - callOptions = retryOptions - } var cmRes *btpb.CheckAndMutateRowResponse err = gaxInvokeWithRecorder(ctx, mt, "CheckAndMutateRow", func(ctx context.Context, headerMD, trailerMD *metadata.MD, _ gax.CallSettings) error { var err error cmRes, err = t.c.client.CheckAndMutateRow(ctx, req, grpc.Header(headerMD), grpc.Trailer(trailerMD)) return err - }, callOptions...) + }) if err == nil { after(cmRes) } diff --git a/bigtable/retry_test.go b/bigtable/retry_test.go index f330dac16616..e4c12aa44dbf 100644 --- a/bigtable/retry_test.go +++ b/bigtable/retry_test.go @@ -119,16 +119,9 @@ func TestRetryApply(t *testing.T) { condMut := NewCondMutation(ValueFilter(".*"), mutTrue, mutFalse) errCount = 0 - code = codes.Unavailable // Will be retried - if err := tbl.Apply(ctx, "row1", condMut); err != nil { - t.Errorf("conditionally mutating row with retries: %v", err) - } - row, err = tbl.ReadRow(ctx, "row1") // row1 already in the table - if err != nil { - t.Errorf("reading single value after conditional mutation: %v", err) - } - if row != nil { - t.Errorf("reading single value after conditional mutation: row not deleted") + code = codes.Unavailable // Won't be retried + if err := tbl.Apply(ctx, "row1", condMut); err == nil { + t.Errorf("conditionally mutating row with no retries: no error") } errCount = 0