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

pageserver: coalesce index uploads when possible #10248

Draft
wants to merge 1 commit into
base: erik/upload-reorder
Choose a base branch
from

Conversation

erikgrinaker
Copy link
Contributor

@erikgrinaker erikgrinaker commented Dec 30, 2024

Problem

With upload queue reordering in #10218, we can easily get into a situation with multiple index uploads queued back to back, which can't be parallelized. This will happen e.g. when multiple layer flushes enqueue layer/index/layer/index/... and the layers skip the queue and are uploaded in parallel.

These index uploads will incur serial S3 roundtrip latencies, and may block later operations.

Resolves #10096.
Requires #10218.

Summary of changes

When multiple back-to-back index uploads are ready to upload, only upload the most recent index and drop the rest.

Copy link

github-actions bot commented Dec 30, 2024

6450 tests run: 6190 passed, 1 failed, 259 skipped (full report)


Failures on Postgres 17

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

Postgres 16

Postgres 14

  • test_physical_replication_config_mismatch_max_locks_per_transaction: release-arm64

Test coverage report is not available

The comment gets automatically updated with the latest test results
76698d5 at 2025-01-02T16:37:40.599Z :recycle:

@erikgrinaker erikgrinaker force-pushed the erik/upload-reorder branch 9 times, most recently from 91be562 to dad6139 Compare January 2, 2025 14:46
@erikgrinaker erikgrinaker force-pushed the erik/upload-index-coalesce branch from 06f1d7a to 76698d5 Compare January 2, 2025 15:07
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