microsoft / microsoft/VFSForGit
Investigate possible Rate limiting while running gvfs upgrade
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 6.1k
- Forks
- 474
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 8
Description
Customer log:
[11/30/2018 1:15:27 PM] TryCheckUpgradeInstallable (Start)
[11/30/2018 1:15:27 PM] TryRunPreUpgradeChecks (Start)
[11/30/2018 1:15:32 PM] Information {"Message":"Successfully finished pre upgrade checks. Okay to run gvfs upgrade."}
[11/30/2018 1:15:32 PM] TryRunPreUpgradeChecks (Stop) {"DurationMs":4630}
[11/30/2018 1:15:32 PM] Information {"Message":"Upgrade is installable."}
[11/30/2018 1:15:32 PM] TryCheckUpgradeInstallable (Stop) {"DurationMs":4649}
[11/30/2018 1:15:32 PM] TryCheckUpgradeAvailable (Start)
[11/30/2018 1:15:33 PM] Error {"Method":"TryFetchReleases","Exception":"System.Net.Http.HttpRequestException: Response status code does not indicate success: 403 (Forbidden).\r\n at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()\r\n at System.Net.Http.HttpClient.d__33.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at GVFS.Common.ProductUpgrader.TryFetchReleases(List`1& releases, String& errorMessage)","ErrorMessage":"Error fetching release info."}
[11/30/2018 1:15:33 PM] TryCheckUpgradeAvailable (Stop) {"DurationMs":806}
[11/30/2018 1:15:33 PM] Error {"ErrorMessage":"TryRunProductUpgrade: Upgrade checks failed. Network error: could not connect to GitHub(https://api.github.com/repos/microsoft/vfsforgit/releases). Response status code does not indicate success: 403 (Forbidden)."}
The 403 can be possible rate limiting from GitHub. Add logging of rate-limiting info available in Github API response.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at GVFS.Common.ProductUpgrader.TryFetchReleases, where the GitHub releases request and 403 error are reported. Inspect the GitHub API response handling and add logging for the rate-limit information it provides. Done means a rate-limited response exposes that information while preserving the existing upgrade error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100