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 Policy for Retrofit #76

Open
rt4914 opened this issue Aug 27, 2019 · 1 comment
Open

Retry Policy for Retrofit #76

rt4914 opened this issue Aug 27, 2019 · 1 comment
Labels
enhancement End user-perceivable enhancements. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Issue: Needs Clarification Indicates that an issue needs more detail in order to be able to be acted upon. Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. Z-ibt Temporary label for Ben to keep track of issues he's triaged.

Comments

@rt4914
Copy link
Contributor

rt4914 commented Aug 27, 2019

The data module is responsible for all the API calls and there should be a retry policy when API call fails. Retrofit does not have retry policy by default. We should probably use OkHttp interceptor to solve this issue. We will be handling standard error codes centrally and the error codes 408-Request Timeout, 502-Bad Gateway, 503-Service Unavailable and 504-Gateway Timeout will result in exponential backoff policy with limited number of retries.
For example, we can have 3 retries (with 2, 4 and 10-second waits between successive retries). The exponential policy with limited retires will avoid overloading the Oppia backend and will also use limited mobile data of the user.

This is blocked on #5

@rt4914 rt4914 added Priority: Essential This work item must be completed for its milestone. Status: Blocked labels Aug 27, 2019
@rt4914 rt4914 added this to the Prototype milestone Aug 27, 2019
@BenHenning BenHenning added Priority: Nice-to-have This work item is nice to have for its milestone. and removed Priority: Essential This work item must be completed for its milestone. labels Sep 9, 2019
@BenHenning BenHenning modified the milestones: Prototype -- UI, Prototype -- Infra, Minimal Viable Product Sep 11, 2019
@BenHenning BenHenning changed the title Retry Policy for Retrofit [Blocked: #5] Retry Policy for Retrofit Sep 17, 2019
@BenHenning BenHenning modified the milestones: Minimal Viable Product, Global Availability, Beta Jun 23, 2020
@Mehul-Bisht
Copy link
Contributor

Is this issue still blocked?

@Broppia Broppia added issue_type_infrastructure Impact: Low Low perceived user impact (e.g. edge cases). labels Jul 24, 2022
@BenHenning BenHenning added Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Issue: Needs Clarification Indicates that an issue needs more detail in order to be able to be acted upon. and removed Impact: Low Low perceived user impact (e.g. edge cases). labels Sep 15, 2022
@BenHenning BenHenning added Z-ibt Temporary label for Ben to keep track of issues he's triaged. issue_user_learner labels Sep 15, 2022
@BenHenning BenHenning removed this from the Beta milestone Sep 16, 2022
@seanlip seanlip added enhancement End user-perceivable enhancements. and removed issue_type_infrastructure labels Mar 28, 2023
@adhiamboperes adhiamboperes added Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. and removed Priority: Nice-to-have This work item is nice to have for its milestone. labels Jul 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement End user-perceivable enhancements. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Issue: Needs Clarification Indicates that an issue needs more detail in order to be able to be acted upon. Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. Z-ibt Temporary label for Ben to keep track of issues he's triaged.
Development

No branches or pull requests

6 participants