boulder/grpc
Jacob Hoffman-Andrews a4f9de9e35 Improve nesting of RPC deadlines (#3619)
gRPC passes deadline information through the RPC boundary, but client and server have the same deadline. Ideally we'd like the server to have a slightly tighter deadline than the client, so if one of the server's onward RPCs or other network calls times out, the server can pass back more detailed information to the client, rather than the client timing out the server and losing the opportunity to log more detailed information about which component caused the timeout.

In this change, I subtract 100ms from the deadline on the server side of our interceptors, using our existing serverInterceptor. I also check that there is at least 100ms remaining in which to do useful work, so the server doesn't begin a potentially expensive task only to abort it.

Fixes #3608.
2018-04-06 15:40:18 +01:00
..
creds Don't wrap errors we return from boulder/grpc/creds.ClientHandshake (#2590) 2017-03-01 11:27:03 -08:00
test_proto Switch to using go 1.9 (#3047) 2017-09-06 16:30:13 -04: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 Add SCT embedding (#3521) 2018-03-12 11:58:30 -07:00
client.go Restore gRPC metrics (#3265) 2017-12-07 15:44:55 -08:00
errors.go Remove superfluous gRPC error encodings (#3048) 2017-09-06 12:38:10 -07:00
errors_test.go Restore gRPC metrics (#3265) 2017-12-07 15:44:55 -08:00
interceptors.go Improve nesting of RPC deadlines (#3619) 2018-04-06 15:40:18 +01:00
interceptors_test.go Improve nesting of RPC deadlines (#3619) 2018-04-06 15:40:18 +01:00
pb-marshalling.go Add SCT embedding (#3521) 2018-03-12 11:58:30 -07:00
pb-marshalling_test.go Add SCT embedding (#3521) 2018-03-12 11:58:30 -07:00
publisher-wrappers.go Add inital CTPolicy impl (#3414) 2018-02-06 10:52:20 -08:00
ra-wrappers.go Add SCT embedding (#3521) 2018-03-12 11:58:30 -07:00
sa-wrappers.go Add SCT embedding (#3521) 2018-03-12 11:58:30 -07:00
server.go Restore gRPC metrics (#3265) 2017-12-07 15:44:55 -08:00
va-wrappers.go Split grpc/wrappers.go into several files (#2392) 2016-12-06 15:45:31 -08:00