Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Serialize URL fetches to avoid excessive concurrent OpenVSX requests (#…
…4627) A speculative fix for errors of the form: ``` [13:38:25] Start fetching https://open-vsx.org/vscode/gallery/publishers/quarto/vsextensions/quarto/1.114.0/vspackage (2 retry) [13:38:35] Fetching https://open-vsx.org/vscode/gallery/publishers/ms-vscode/vsextensions/js-debug-companion/1.1.3/vspackage failed: TypeError: fetch failed ``` It appears that (even with fairly generous timeouts) we are regularly failing to get extensions from OpenVSX during the build. @petetronic and I suspect that this may be because of aggressive parallelization combined with rate limits or concurrency limits on OpenVSX; that is, it is not going to allow us to download 10 extensions at once, and we repeatedly get timeouts. The "fix" is to serialize these requests, so that instead of requesting all the extensions from OpenVSX at once, we only ask for one at a time, and wait for it to finish before requesting the next one. (the fix technically applies to _all_ URL fetching because this requires the fewest edits and may be useful elsewhere, but we could also scope it to extension downloads if there are concerns about the reach of this approach)
- Loading branch information