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

Download Code Path Refactor Blueprint #144

Closed
iglesiasbrandon opened this issue Apr 24, 2023 · 8 comments
Closed

Download Code Path Refactor Blueprint #144

iglesiasbrandon opened this issue Apr 24, 2023 · 8 comments
Assignees

Comments

@iglesiasbrandon
Copy link
Contributor

iglesiasbrandon commented Apr 24, 2023

Description

This issue aims to create a blueprint for the download code path refactor.
This refactor would eliminate the pause between segment downloads.

Acceptance Criteria:

  • A blueprint or tickets are created to tackle this effort.
@iglesiasbrandon
Copy link
Contributor Author

@zeebo @jtolio We created this ticket, but I'm not entirely sure of the scope of this effort.
Can you shed some light on this for me?

  • what are the current pain points?
  • what would this refactor solve or help with?

@jtolio
Copy link
Member

jtolio commented Apr 24, 2023

largely the same things as the upload codepath refactor. we would like to:

  • eliminate stalls between segment downloads
  • reduce the amount of startup roundtrips
  • have dynamic long tail management
  • be able to support more concurrency with downloading (largely to support pipelining with stream output, but it would also be useful to support much greater parallelism for seekable writers (nice to have))
  • lastly, to enable us to do an uplink-lite (separating encryption from RS, so we can do uplink lite in the browser)

@elek
Copy link
Contributor

elek commented Apr 25, 2023

  • minimize the buffer allocations, decrease the GC pressure
  • optimize TTFB (currently full 32k buffer is downloaded and recovered before first byte is server)

@elek
Copy link
Contributor

elek commented Apr 25, 2023

  • support different node selection scheme for downloads (like open 49 connections and use only the 29, where the connection open was the fastest)

@iglesiasbrandon
Copy link
Contributor Author

We are going to close this ticket because a formal blueprint is not needed. instead what we will do is write a short description of how this is intended to work on the roadmap item itself. @zeebo

storj/roadmap#71

@github-project-automation github-project-automation bot moved this from Up Next to Done/Deployed in Team Satellite Apr 25, 2023
@iglesiasbrandon iglesiasbrandon moved this from Done/Deployed to Merged in Team Satellite Apr 25, 2023
@iglesiasbrandon iglesiasbrandon moved this from Merged to Code Review in Team Satellite Apr 25, 2023
@iglesiasbrandon iglesiasbrandon moved this from Code Review to In Progress in Team Satellite Apr 25, 2023
@iglesiasbrandon iglesiasbrandon moved this from In Progress to Todo in Team Satellite Apr 25, 2023
@shaupt131 shaupt131 moved this from Todo to In Progress in Team Satellite Apr 27, 2023
@shaupt131
Copy link

Looks like @elek captured our thoughts on the roadmap ticket. Closing this issue.

@github-project-automation github-project-automation bot moved this from In Progress to Done/Deployed in Team Satellite May 8, 2023
@iglesiasbrandon
Copy link
Contributor Author

@shaupt131 we are reopening this issue we need to write a blueprint for the download code path refactor

@iglesiasbrandon iglesiasbrandon moved this from Done/Deployed to Up Next in Team Satellite May 24, 2023
@github-project-automation github-project-automation bot moved this from Up Next to Todo in Team Satellite May 24, 2023
@zeebo zeebo moved this from Todo to In Progress in Team Satellite Jun 1, 2023
@shaupt131 shaupt131 assigned jtolio and unassigned zeebo Jul 10, 2023
@iglesiasbrandon
Copy link
Contributor Author

we created three separate items to complete the overall download code path refactor.
storj/roadmap#79
storj/roadmap#80
storj/roadmap#82

@github-project-automation github-project-automation bot moved this from In Progress to Done/Deployed in Team Satellite Jul 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done/Deployed
Development

No branches or pull requests

5 participants