-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrap StatusRuntimeExceptions from GrpcRemoteCache #7860
Conversation
Exceptions that occur during remote interactions are expected to be wrapped in IOException for observation by the RemoteSpawn{Runner,Cache} layers. Fixes bazelbuild#7856
retrier.executeAsync( | ||
() -> ctx.call( | ||
() -> requestRead(resourceName, offset, progressiveBackoff, digest, out, hashSupplier)), | ||
progressiveBackoff), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this necessary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The previous implementation of the progressive read did not use the progressive backoff to determine the retry delay of successive requests. Put simply, we got progressive reads due to the offset, but there was no meaning to the progress from the perspective of the backoff used to proceed. A single download got max_retry_attempts to complete the download, and that's it - without this there was no effect to the progressiveBackoff being introduced.
Exceptions that occur during remote interactions are expected to be wrapped in IOException for observation by the RemoteSpawn{Runner,Cache} layers. Fixes bazelbuild#7856 Closes bazelbuild#7860. PiperOrigin-RevId: 240793745
Consistent with bazelbuild#7860, present an IOException with context to ensure fallback if configured, rather than an unhandled RuntimeException and bazel crash, when issuing FindMissingBlobs requests.
Exceptions that occur during remote interactions are expected to be
wrapped in IOException for observation by the RemoteSpawn{Runner,Cache}
layers.
Fixes #7856