Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Add better error message for timeouts. #4324
Conversation
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.
|
Merging with one |

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

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.
Fixes #4321