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

feat(pageserver): rewrite streaming vectored read planner #8242

Merged
merged 5 commits into from
Jul 11, 2024

Conversation

skyzh
Copy link
Member

@skyzh skyzh commented Jul 2, 2024

Problem

Rewrite streaming vectored read planner to be a separate struct. The API is designed to produce batches around max_read_size instead of exactly less than that so that handle_XX returns one batch a time.

Summary of changes

Checklist before requesting a review

  • I have performed a self-review of my code.
  • If it is a core feature, I have added thorough tests.
  • Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
  • If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

  • Do not forget to reformat commit message to not include the above checklist

Signed-off-by: Alex Chi Z <chi@neon.tech>
Copy link

github-actions bot commented Jul 2, 2024

3061 tests run: 2946 passed, 0 failed, 115 skipped (full report)


Flaky tests (3)

Postgres 16

  • test_tenant_creation_fails: debug

Postgres 15

  • test_pg_regress[4]: debug

Postgres 14

  • test_tenant_creation_fails: debug

Code coverage* (full report)

  • functions: 32.8% (6974 of 21287 functions)
  • lines: 50.2% (54913 of 109430 lines)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
55da0a3 at 2024-07-11T18:36:15.824Z :recycle:

Signed-off-by: Alex Chi Z <chi@neon.tech>
@skyzh skyzh changed the title [WIP] feat(pageserver): rewrite streaming vectored read planner feat(pageserver): rewrite streaming vectored read planner Jul 3, 2024
@skyzh skyzh requested a review from VladLazar July 3, 2024 15:40
@skyzh skyzh marked this pull request as ready for review July 3, 2024 15:40
@skyzh skyzh requested a review from a team as a code owner July 3, 2024 15:40
pageserver/src/tenant/vectored_blob_io.rs Outdated Show resolved Hide resolved
pageserver/src/tenant/vectored_blob_io.rs Outdated Show resolved Hide resolved
pageserver/src/tenant/vectored_blob_io.rs Outdated Show resolved Hide resolved
pageserver/src/tenant/vectored_blob_io.rs Outdated Show resolved Hide resolved
pageserver/src/tenant/vectored_blob_io.rs Outdated Show resolved Hide resolved
Signed-off-by: Alex Chi Z <chi@neon.tech>
@skyzh skyzh requested a review from VladLazar July 8, 2024 21:15
Copy link
Contributor

@VladLazar VladLazar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I'd like to get rid of that VectoredReadBuilder constructor if possible.

pageserver/src/tenant/vectored_blob_io.rs Outdated Show resolved Hide resolved
pageserver/src/tenant/vectored_blob_io.rs Show resolved Hide resolved
@skyzh skyzh requested a review from VladLazar July 9, 2024 14:54
Signed-off-by: Alex Chi Z <chi@neon.tech>
Copy link
Contributor

@VladLazar VladLazar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pg_regress failure is strange, but I don't see anything in this pr could have caused it.
Might be good to note down the link to the failure somewhere

@skyzh skyzh enabled auto-merge (squash) July 11, 2024 13:50
@skyzh skyzh merged commit 38b4ed2 into main Jul 11, 2024
65 checks passed
@skyzh skyzh deleted the skyzh/streaming-vector-read-rewrite branch July 11, 2024 18:28
skyzh added a commit that referenced this pull request Jul 15, 2024
Rewrite streaming vectored read planner to be a separate struct. The API
is designed to produce batches around `max_read_size` instead of exactly
less than that so that `handle_XX` returns one batch a time.

---------

Signed-off-by: Alex Chi Z <chi@neon.tech>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants