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

Reapply "pageserver: revert flush backpressure" (#10270) #10402

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

erikgrinaker
Copy link
Contributor

@erikgrinaker erikgrinaker commented Jan 15, 2025

This reapplies #10135. Just removing this flush backpressure without further mitigations caused read amp increases during bulk ingestion (predictably), so it was reverted. We will replace it by compaction-based backpressure.

Problem

In #8550, we made the flush loop wait for uploads after every layer. This was to avoid unbounded buildup of uploads, and to reduce compaction debt. However, the approach has several problems:

  • It prevents upload parallelism.
  • It prevents flush and upload pipelining.
  • It slows down ingestion even when there is no need to backpressure.
  • It does not directly backpressure based on compaction debt and read amplification.

We will instead implement compaction-based backpressure in a PR immediately following this removal (#5415).

Touches #5415.
Touches #10095.

Summary of changes

Remove waiting on the upload queue in the flush loop.

Copy link

github-actions bot commented Jan 15, 2025

7359 tests run: 6973 passed, 1 failed, 385 skipped (full report)


Failures on Postgres 17

# Run all failed tests locally:
scripts/pytest -vv -n $(nproc) -k "test_scrubber_physical_gc_ancestors[release-pg17-None]"
Flaky tests (3)

Postgres 17

Postgres 16

Postgres 15

Test coverage report is not available

The comment gets automatically updated with the latest test results
c7de608 at 2025-01-21T23:08:55.500Z :recycle:

@erikgrinaker erikgrinaker force-pushed the erik/revert-flush-backpressure branch from 8fd7f75 to 81e12cf Compare January 21, 2025 22:03
@erikgrinaker erikgrinaker force-pushed the erik/revert-flush-backpressure branch from 81e12cf to c7de608 Compare January 21, 2025 22:17
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.

1 participant