boulder/grpc
Jacob Hoffman-Andrews e3f797f9dc grpc: Add better error message for timeouts. (#4324)
Right now we sometimes get errors like:

rpc error: code = Unknown desc = rpc error:
  code = DeadlineExceeded desc = context deadline exceeded

For instance, when an SA call times out, and the RA returns that
timed-out error to the WFE. These are kind of confusing because they
have two layers of nested gRPC error, and they don't provide additional
information about which SA call timed out.

This change replaces DeadlineExceeded errors with our own error type
that includes the service and the method that were called, as well as
the amount of time it took (which helps understand if timeouts are
happening because earlier calls ate up time towards the deadline).

When the RA->SA NewOrder call times out, and the RA returns that error to WFE:

"InternalErrors":["rpc error: code = Unknown desc =
  sa.StorageAuthority.NewOrder timed out after 14954 ms"]

When the WFE->RA NewOrder call times out:

"InternalErrors":["ra.RegistrationAuthority.NewOrder timed out after 15000 ms"]

Note that this change only handles timeouts at one level deep, which I
think is sufficient for our needs.
2019-07-08 13:47:25 -04:00
..
creds Consistently used stdlib context package (#4229) 2019-05-28 14:36:16 -04:00
test_proto Update miekg/dns and golang/protobuf. (#4150) 2019-04-09 09:27:28 -07:00
balancer.go Allow gRPC clients to connect to multiple backends (#1918) 2016-06-15 16:50:56 -07:00
balancer_test.go Allow gRPC clients to connect to multiple backends (#1918) 2016-06-15 16:50:56 -07:00
ca-wrappers.go Consistently used stdlib context package (#4229) 2019-05-28 14:36:16 -04:00
client.go Config: serverAddresses -> serverAddress. (#4035) 2019-01-25 10:50:53 -08:00
errors.go gRPC: support wrap/unwrap of berrors with suberrors. (#4278) 2019-06-20 16:36:13 -04:00
errors_test.go gRPC: support wrap/unwrap of berrors with suberrors. (#4278) 2019-06-20 16:36:13 -04:00
interceptors.go grpc: Add better error message for timeouts. (#4324) 2019-07-08 13:47:25 -04:00
interceptors_test.go grpc: Add better error message for timeouts. (#4324) 2019-07-08 13:47:25 -04:00
pb-marshalling.go dns: Remove Authorities field from ValidationRecord (#4230) 2019-05-28 14:11:32 -04:00
pb-marshalling_test.go dns: Remove Authorities field from ValidationRecord (#4230) 2019-05-28 14:11:32 -04:00
publisher-wrappers.go Consistently used stdlib context package (#4229) 2019-05-28 14:36:16 -04:00
ra-wrappers.go Consistently used stdlib context package (#4229) 2019-05-28 14:36:16 -04:00
sa-wrappers.go SA: Remove CountCertificatesByExactNames RPC (#4318) 2019-07-02 09:30:44 -04:00
server.go Excise grpc maxConcurrentStreams configuration (#4257) 2019-06-12 09:35:24 -04:00
va-wrappers.go Consistently used stdlib context package (#4229) 2019-05-28 14:36:16 -04:00