Skip to content
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

Retry failed download requests implementation #3673

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

VitorVieiraZ
Copy link
Contributor

@VitorVieiraZ VitorVieiraZ commented Nov 4, 2024

Implements a retry mechanism for failed downloads during project downloads, with a maximum of 5 retries per transaction. Individual file downloads now retry on network issues, being re-added to the download queue. Added a downloadItemRetried signal to track retry attempts. Added a getter/setter for the Mergin API's QNetworkAccessManager to support testing.

Retry system for downloads diagram:
image

Transaction download queue replies handling:
image

Resolves #3644

Copy link

github-actions bot commented Nov 4, 2024

Pull Request Test Coverage Report for Build 11945306787

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 309 unchanged lines in 3 files lost coverage.
  • Overall coverage increased (+0.2%) to 60.565%

Files with Coverage Reduction New Missed Lines %
input/core/merginuserinfo.cpp 1 75.18%
input/core/merginapi.h 1 97.62%
input/core/merginapi.cpp 307 79.31%
Totals Coverage Status
Change from base Build 11601124075: 0.2%
Covered Lines: 7914
Relevant Lines: 13067

💛 - Coveralls

@VitorVieiraZ VitorVieiraZ force-pushed the enhancement/pullRetry branch from b42b4fb to 9e029b1 Compare November 6, 2024 17:57
@VitorVieiraZ VitorVieiraZ changed the title WIP - Retry failed download requests implementation Retry failed download requests implementation Nov 6, 2024
core/merginapi.cpp Outdated Show resolved Hide resolved
core/merginapi.h Outdated Show resolved Hide resolved
core/merginapi.cpp Outdated Show resolved Hide resolved
core/merginapi.h Show resolved Hide resolved
app/test/testmerginapi.cpp Outdated Show resolved Hide resolved
app/test/testmerginapi.cpp Outdated Show resolved Hide resolved
app/test/testmerginapi.cpp Outdated Show resolved Hide resolved
app/test/testmerginapi.cpp Show resolved Hide resolved
core/merginapi.cpp Outdated Show resolved Hide resolved
core/merginapi.cpp Outdated Show resolved Hide resolved
core/merginapi.cpp Outdated Show resolved Hide resolved
@alexd0793 alexd0793 added the test-success Label to use for PR testing label Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
test-success Label to use for PR testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Retry failed download requests
5 participants