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

das: add backoff to retry jobs #2027

Closed
walldiss opened this issue Apr 5, 2023 · 0 comments · Fixed by #2103
Closed

das: add backoff to retry jobs #2027

walldiss opened this issue Apr 5, 2023 · 0 comments · Fixed by #2103
Assignees
Labels
area:das Related to DASer enhancement New feature or request

Comments

@walldiss
Copy link
Member

walldiss commented Apr 5, 2023

Implementation ideas

If some height are unavailable, DASer will keep retrying without any delay or backoff which could cause network strain. Add backoff strategy inside DASer for headers that has failed multiple times.

@walldiss walldiss added enhancement New feature or request area:das Related to DASer labels Apr 5, 2023
@walldiss walldiss self-assigned this Apr 14, 2023
@walldiss walldiss moved this from TODO to In Review in Celestia Node Apr 14, 2023
walldiss added a commit that referenced this issue Apr 19, 2023
## Overview
DASer jobs now have `job_type` field that identifies purpose of the job.
There are 3 possible types of jobs:

 - catchup
 - recent
 - retry

Introduce new type of jobs for DASer - `retry`. `retry` jobs will be
launched only if there is enough concurrency slots after running
`recent` jobs and `catchup` jobs. Meaning DASer will start retry with
lowest priority, only when catchup is done and recent header are synced
without falling behind.

Also includes minor simplifications for affected code.

Resolves #1782,
#2027
<!-- 
Please provide an explanation of the PR, including the appropriate
context,
background, goal, and rationale. If there is an issue with this
information,
please provide a tl;dr and link the issue. 
-->

## Checklist

<!-- 
Please complete the checklist to ensure that the PR is ready to be
reviewed.

IMPORTANT:
PRs should be left in Draft until the below checklist is completed.
-->

- [ ] New and updated code has appropriate documentation
- [x] New and updated code has new and/or updated testing
- [x] Required CI checks are passing
- [x] Visual proof for any user facing features like CLI or
documentation updates
- [x] Linked issues closed with keywords

---------

Co-authored-by: rene <41963722+renaynay@users.noreply.github.com>
Co-authored-by: Ryan <ryan@celestia.org>
Co-authored-by: Hlib Kanunnikov <hlibwondertan@gmail.com>
walldiss added a commit that referenced this issue Apr 27, 2023
@github-project-automation github-project-automation bot moved this from In Review to Done in Celestia Node Apr 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:das Related to DASer enhancement New feature or request
Projects
No open projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant