Related to #4832
As @alvarowolfx points out, BigQuery may encode a StorageError in the error details. We need to make sure this gets preserved when converting between gRPC-generated types and our own types.
This can happen in two place.
-
Converting the status:
|
"type.googleapis.com/google.rpc.DebugInfo" => value |
-
Converting protos with rpc::Status as a field:
|
.filter_map(gaxi::grpc::status::any_to_prost) |
It will be tricky, because the conversion code lives in gaxi, and we typically do not want that code supporting service-specific types.
We will probably want to extend the interface to accept a custom set of names, Ts, that a service can supply.
Related to #4832
As @alvarowolfx points out, BigQuery may encode a
StorageErrorin the error details. We need to make sure this gets preserved when converting between gRPC-generated types and our own types.This can happen in two place.
Converting the status:
google-cloud-rust/src/gax-internal/src/grpc/status.rs
Line 37 in 266973f
Converting protos with
rpc::Statusas a field:google-cloud-rust/src/bigquery-write/src/status.rs
Line 29 in 266973f
It will be tricky, because the conversion code lives in
gaxi, and we typically do not want that code supporting service-specific types.We will probably want to extend the interface to accept a custom set of names,
Ts, that a service can supply.