Skip to content

Commit 4f0c724

Browse files
fix: prevent npe in metrics during a batching retry (#4516)
* fix: prevent npe in metrics during a batching retry Change-Id: I14d2fd195568fc9d827ec7ae1044d031a1d5cc04 * comment Change-Id: I2d5876db67c2d8710d6930e4c64095113313cd34
1 parent 9e835be commit 4f0c724

File tree

1 file changed

+5
-3
lines changed
  • bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/wrappers/veneer/metrics

1 file changed

+5
-3
lines changed

bigtable-client-core-parent/bigtable-hbase/src/main/java/com/google/cloud/bigtable/hbase/wrappers/veneer/metrics/MetricsApiTracerAdapter.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,11 @@ public void attemptFailed(Throwable error, Duration delay) {
156156
lastRetryStatus = RetryStatus.ATTEMPT_RETRYABLE_FAILURE;
157157
rpcMetrics.markRetry();
158158
activeRpcCounter.dec();
159-
BigtableClientMetrics.meter(
160-
MetricLevel.Info, "grpc.errors." + Status.fromThrowable(error).getCode())
161-
.mark();
159+
160+
// For batching, retries can be invoked despite the rpc status being OK because an entry failed.
161+
Status status = (error == null) ? Status.OK : Status.fromThrowable(error);
162+
163+
BigtableClientMetrics.meter(MetricLevel.Info, "grpc.errors." + status.getCode()).mark();
162164
}
163165

164166
@Override

0 commit comments

Comments
 (0)