Skip to content
This repository was archived by the owner on May 8, 2026. It is now read-only.
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,17 @@ public void mutateRow(
.build());
responseObserver.onCompleted();
return;
} catch (StatusRuntimeException e) {
responseObserver.onNext(
MutateRowResult.newBuilder()
.setStatus(
com.google.rpc.Status.newBuilder()
Comment thread
alexoneill marked this conversation as resolved.
Outdated
.setCode(e.getStatus().getCode().value())
.setMessage(e.getStatus().getDescription())
.build())
.build());
responseObserver.onCompleted();
return;
}

responseObserver.onNext(
Expand Down Expand Up @@ -354,6 +365,17 @@ public void bulkMutateRows(
.build());
responseObserver.onCompleted();
return;
} catch (StatusRuntimeException e) {
responseObserver.onNext(
MutateRowsResult.newBuilder()
.setStatus(
com.google.rpc.Status.newBuilder()
.setCode(e.getStatus().getCode().value())
.setMessage(e.getStatus().getDescription())
.build())
.build());
responseObserver.onCompleted();
return;
}

responseObserver.onNext(
Expand Down Expand Up @@ -388,6 +410,15 @@ public void readRow(ReadRowRequest request, StreamObserver<RowResult> responseOb
client
.dataClient()
.readRow(tableId, request.getRowKey(), FILTERS.fromProto(request.getFilter()));
if (row != null) {
RowResult.Builder resultBuilder = convertRowResult(row);
responseObserver.onNext(
resultBuilder.setStatus(com.google.rpc.Status.getDefaultInstance()).build());
} else {
logger.info(String.format("readRow() did not find row: %s", request.getRowKey()));
Comment thread
alexoneill marked this conversation as resolved.
responseObserver.onNext(
RowResult.newBuilder().setStatus(com.google.rpc.Status.getDefaultInstance()).build());
}
} catch (ApiException e) {
responseObserver.onNext(
RowResult.newBuilder()
Expand All @@ -399,30 +430,29 @@ public void readRow(ReadRowRequest request, StreamObserver<RowResult> responseOb
.build());
responseObserver.onCompleted();
return;
}

if (row != null) {
try {
RowResult.Builder resultBuilder = convertRowResult(row);
responseObserver.onNext(
resultBuilder.setStatus(com.google.rpc.Status.getDefaultInstance()).build());
} catch (RuntimeException e) {
// If client encounters problem, don't return any row result.
responseObserver.onNext(
RowResult.newBuilder()
.setStatus(
com.google.rpc.Status.newBuilder()
.setCode(Code.INTERNAL.getNumber())
.setMessage(e.getMessage())
.build())
.build());
responseObserver.onCompleted();
return;
}
} else {
logger.info(String.format("readRow() did not find row: %s", request.getRowKey()));
} catch (StatusRuntimeException e) {
responseObserver.onNext(
RowResult.newBuilder().setStatus(com.google.rpc.Status.getDefaultInstance()).build());
RowResult.newBuilder()
.setStatus(
com.google.rpc.Status.newBuilder()
.setCode(e.getStatus().getCode().value())
.setMessage(e.getStatus().getDescription())
.build())
.build());
responseObserver.onCompleted();
return;
} catch (RuntimeException e) {
// If client encounters problem, don't return any row result.
responseObserver.onNext(
RowResult.newBuilder()
.setStatus(
com.google.rpc.Status.newBuilder()
.setCode(Code.INTERNAL.getNumber())
.setMessage(e.getMessage())
.build())
.build());
responseObserver.onCompleted();
return;
}
responseObserver.onCompleted();
}
Expand All @@ -441,6 +471,10 @@ public void readRows(ReadRowsRequest request, StreamObserver<RowsResult> respons
Query query = Query.fromProto(request.getRequest());
try {
rows = client.dataClient().readRows(query);
int cancelAfterRows = request.getCancelAfterRows();
RowsResult.Builder resultBuilder = convertRowsResult(rows, cancelAfterRows);
responseObserver.onNext(
resultBuilder.setStatus(com.google.rpc.Status.getDefaultInstance()).build());
Comment thread
alexoneill marked this conversation as resolved.
} catch (ApiException e) {
responseObserver.onNext(
RowsResult.newBuilder()
Expand All @@ -452,13 +486,17 @@ public void readRows(ReadRowsRequest request, StreamObserver<RowsResult> respons
.build());
responseObserver.onCompleted();
return;
}

int cancelAfterRows = request.getCancelAfterRows();
try {
RowsResult.Builder resultBuilder = convertRowsResult(rows, cancelAfterRows);
} catch (StatusRuntimeException e) {
responseObserver.onNext(
resultBuilder.setStatus(com.google.rpc.Status.getDefaultInstance()).build());
RowsResult.newBuilder()
.setStatus(
com.google.rpc.Status.newBuilder()
.setCode(e.getStatus().getCode().value())
.setMessage(e.getStatus().getDescription())
.build())
.build());
responseObserver.onCompleted();
return;
} catch (RuntimeException e) {
// If client encounters problem, don't return any row result.
responseObserver.onNext(
Expand Down Expand Up @@ -578,6 +616,17 @@ public void sampleRowKeys(
.build());
responseObserver.onCompleted();
return;
} catch (StatusRuntimeException e) {
responseObserver.onNext(
SampleRowKeysResult.newBuilder()
.setStatus(
com.google.rpc.Status.newBuilder()
.setCode(e.getStatus().getCode().value())
.setMessage(e.getStatus().getDescription())
.build())
.build());
responseObserver.onCompleted();
return;
}

SampleRowKeysResult.Builder resultBuilder = SampleRowKeysResult.newBuilder();
Expand Down Expand Up @@ -618,6 +667,17 @@ public void checkAndMutateRow(
.build());
responseObserver.onCompleted();
return;
} catch (StatusRuntimeException e) {
responseObserver.onNext(
CheckAndMutateRowResult.newBuilder()
.setStatus(
com.google.rpc.Status.newBuilder()
.setCode(e.getStatus().getCode().value())
.setMessage(e.getStatus().getDescription())
.build())
.build());
responseObserver.onCompleted();
return;
}

CheckAndMutateRowResult.Builder resultBuilder = CheckAndMutateRowResult.newBuilder();
Expand All @@ -642,6 +702,17 @@ public void readModifyWriteRow(
ReadModifyWriteRow mutation = ReadModifyWriteRow.fromProto(request.getRequest());
try {
row = client.dataClient().readModifyWriteRow(mutation);
if (row != null) {
RowResult.Builder resultBuilder = convertRowResult(row);
responseObserver.onNext(
resultBuilder.setStatus(com.google.rpc.Status.getDefaultInstance()).build());
} else {
logger.info(
String.format(
"readModifyWriteRow() did not find row: %s", request.getRequest().getRowKey()));
responseObserver.onNext(
RowResult.newBuilder().setStatus(com.google.rpc.Status.getDefaultInstance()).build());
Comment thread
alexoneill marked this conversation as resolved.
Outdated
}
} catch (ApiException e) {
responseObserver.onNext(
RowResult.newBuilder()
Expand All @@ -653,32 +724,29 @@ public void readModifyWriteRow(
.build());
responseObserver.onCompleted();
return;
}

if (row != null) {
try {
RowResult.Builder resultBuilder = convertRowResult(row);
responseObserver.onNext(
resultBuilder.setStatus(com.google.rpc.Status.getDefaultInstance()).build());
} catch (RuntimeException e) {
// If client encounters problem, fail the whole operation.
responseObserver.onNext(
RowResult.newBuilder()
.setStatus(
com.google.rpc.Status.newBuilder()
.setCode(Code.INTERNAL.getNumber())
.setMessage(e.getMessage())
.build())
.build());
responseObserver.onCompleted();
return;
}
} else {
logger.info(
String.format(
"readModifyWriteRow() did not find row: %s", request.getRequest().getRowKey()));
} catch (StatusRuntimeException e) {
responseObserver.onNext(
RowResult.newBuilder()
.setStatus(
com.google.rpc.Status.newBuilder()
.setCode(e.getStatus().getCode().value())
.setMessage(e.getStatus().getDescription())
.build())
.build());
responseObserver.onCompleted();
return;
} catch (RuntimeException e) {
// If client encounters problem, fail the whole operation.
responseObserver.onNext(
RowResult.newBuilder().setStatus(com.google.rpc.Status.getDefaultInstance()).build());
RowResult.newBuilder()
.setStatus(
com.google.rpc.Status.newBuilder()
.setCode(Code.INTERNAL.getNumber())
.setMessage(e.getMessage())
.build())
.build());
responseObserver.onCompleted();
return;
}
responseObserver.onCompleted();
}
Expand Down
Loading