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

fix(pageserver): properly propagate missing key error for vectored get #7569

Merged
merged 4 commits into from
May 2, 2024

Conversation

skyzh
Copy link
Member

@skyzh skyzh commented Apr 30, 2024

Problem

Some part of the code requires missing key error to be propagated to the code path correctly (i.e., aux key range scan). Currently, it's an anyhow error.

  • remove stuck_lsn from the missing key error.
  • as a result, when matching missing key, we do not distinguish the case stuck_lsn = false/true.
  • vectored get now use the unified missing key error.

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

@skyzh skyzh requested a review from VladLazar April 30, 2024 21:16
@skyzh skyzh requested a review from a team as a code owner April 30, 2024 21:16
@skyzh skyzh marked this pull request as draft April 30, 2024 21:18
Copy link

github-actions bot commented Apr 30, 2024

2856 tests run: 2735 passed, 0 failed, 121 skipped (full report)


Flaky tests (1)

Postgres 15

  • test_vm_bit_clear_on_heap_lock: debug

Code coverage* (full report)

  • functions: 28.1% (6601 of 23486 functions)
  • lines: 46.8% (46868 of 100235 lines)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
0f98799 at 2024-05-01T17:04:05.773Z :recycle:

@skyzh skyzh marked this pull request as ready for review April 30, 2024 21:24
Signed-off-by: Alex Chi Z <chi@neon.tech>
Signed-off-by: Alex Chi Z <chi@neon.tech>
@skyzh skyzh requested a review from VladLazar May 1, 2024 15:39
@skyzh
Copy link
Member Author

skyzh commented May 1, 2024

removed stuck_at_lsn and vectored_get field, maybe we will add a key_range field in the future, but for now, not adding it to avoid large copies (keyspace can be large with multiple partitions).

Signed-off-by: Alex Chi Z <chi@neon.tech>
@skyzh skyzh force-pushed the skyzh/propagate-missing-key branch from a0bf19e to 0f98799 Compare May 1, 2024 16:20
@skyzh skyzh merged commit f656db0 into main May 2, 2024
53 checks passed
@skyzh skyzh deleted the skyzh/propagate-missing-key branch May 2, 2024 13:19
conradludgate pushed a commit that referenced this pull request May 8, 2024
#7569)

Some part of the code requires missing key error to be propagated to the
code path correctly (i.e., aux key range scan). Currently, it's an
anyhow error.

* remove `stuck_lsn` from the missing key error.
* as a result, when matching missing key, we do not distinguish the case
`stuck_lsn = false/true`.
* vectored get now use the unified missing key error.

---------

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