gvfs-helper: show network advice for transient service errors#880
Open
derrickstolee wants to merge 1 commit intomicrosoft:vfs-2.53.0from
Open
gvfs-helper: show network advice for transient service errors#880derrickstolee wants to merge 1 commit intomicrosoft:vfs-2.53.0from
derrickstolee wants to merge 1 commit intomicrosoft:vfs-2.53.0from
Conversation
When gvfs_advice_on_retry() fires after exhausting retries, it unconditionally suggests checking disk space or deleting the shared object cache. This is misleading when the failures are transient network or service errors (e.g. CURLE_RECV_ERROR, HTTP 429, HTTP 503) rather than local filesystem problems like index-pack failures. The current advice (delete your scalar cache and retry) can be even worse under a service outage, such as recently occurred when the India region's cache servers were unable to respond to incoming requests. The users who followed this advice were not able to redownload data and were stuck without an ability to work. Teach gvfs_advice_on_retry() to distinguish between network/service errors and local errors by inspecting the error code. When the error is a curl error, HTTP 429, or HTTP 503, advise the user about potential service outages or network connectivity issues instead. The existing disk/cache advice is preserved for local failures such as index-pack errors (GH__ERROR_CODE__INDEX_PACK_FAILED). Signed-off-by: Derrick Stolee <stolee@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When gvfs_advice_on_retry() fires after exhausting retries, it unconditionally suggests checking disk space or deleting the shared object cache. This is misleading when the failures are transient network or service errors (e.g. CURLE_RECV_ERROR, HTTP 429, HTTP 503) rather than local filesystem problems like index-pack failures.
The current advice (delete your scalar cache and retry) can be even worse under a service outage, such as recently occurred when the India region's cache servers were unable to respond to incoming requests. The users who followed this advice were not able to redownload data and were stuck without an ability to work.
Teach gvfs_advice_on_retry() to distinguish between network/service errors and local errors by inspecting the error code. When the error is a curl error, HTTP 429, or HTTP 503, advise the user about potential service outages or network connectivity issues instead. The existing disk/cache advice is preserved for local failures such as index-pack errors (GH__ERROR_CODE__INDEX_PACK_FAILED).
GVFS Protocol.