thunderstore-io / Thunderstore

Thunderstore is a mod database and API for downloading mods. Thunderstore Discord: https://discord.thunderstore.io/
https://thunderstore.io/
GNU Affero General Public License v3.0
138 stars 28 forks source link

Implement retries and max parallelism to uploads #1017

Closed MythicManiac closed 8 months ago

MythicManiac commented 8 months ago

Implement automatic retrying for failed file part upload attempts and limit the maximum parallelism to 3 instead of attempting to upload all parts in parallel.

This should significantly improve the experience for uploaders of large files on slower connections without degrading performance on faster connection speeds. The assumption is that limiting the parallelism should promote actually completing file parts as individual parts no longer compete on bandwidth with each other as much, and automatic retries should make the uploader more robust for failures overall.

codecov[bot] commented 8 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.95%. Comparing base (279e50c) to head (908d57e).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #1017 +/- ## ======================================= Coverage 92.95% 92.95% ======================================= Files 314 314 Lines 9070 9070 Branches 806 806 ======================================= Hits 8431 8431 Misses 530 530 Partials 109 109 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.