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: upload flushed layers in parallel #10144

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

Conversation

erikgrinaker
Copy link
Contributor

@erikgrinaker erikgrinaker commented Dec 13, 2024

Problem

Layer uploads currently happen one-by-one. The layer flush schedules a layer upload and also an immediate index upload, and the index upload acts as a upload queue barrier (it has to wait for all preceding layers to be uploaded). This reduces upload throughput.

Resolves #10096.

Summary of changes

Attempt to schedule parallel layer uploads by only scheduling a metadata index upload every 8 layers, or when there haven't been any layer flushes in 3 seconds.

Copy link

github-actions bot commented Dec 13, 2024

7095 tests run: 6350 passed, 447 failed, 298 skipped (full report)


Failures on Postgres 17

Failures on Postgres 16

Failures on Postgres 15

Failures on Postgres 14

# Run all failed tests locally:
scripts/pytest -vv -n $(nproc) -k "test_change_pageserver[release-pg14] or test_change_pageserver[release-pg14] or test_crafted_wal_end[release-pg14-interpreted-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg14-interpreted-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg14-vanilla-simple] or test_crafted_wal_end[release-pg14-vanilla-simple] or test_crafted_wal_end[release-pg14-vanilla-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg14-vanilla-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg14-vanilla-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg14-vanilla-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg14-interpreted-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg14-interpreted-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg14-interpreted-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg14-interpreted-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg14-vanilla-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg14-vanilla-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg14-vanilla-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg14-vanilla-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg14-interpreted-simple] or test_crafted_wal_end[release-pg14-interpreted-simple] or test_crafted_wal_end[release-pg14-interpreted-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg14-interpreted-wal_record_crossing_segment_followed_by_small_one] or test_ondemand_download_timetravel[release-pg14] or test_ondemand_download_timetravel[release-pg14] or test_pageserver_reconnect[release-pg14] or test_pageserver_catchup_while_compute_down[release-pg14] or test_pageserver_restarts_under_worload[release-pg14] or test_pageserver_restarts_under_worload[release-pg14] or test_parallel_copy[release-pg14] or test_sharding_split_smoke[release-pg14] or test_fixture_restart[release-pg14] or test_fixture_restart[release-pg14] or test_storage_controller_onboarding[release-pg14-False] or test_storage_controller_onboarding[release-pg14-False] or test_storage_controller_onboarding[release-pg14-True] or test_storage_controller_onboarding[release-pg14-True] or test_storage_controller_stuck_compute_hook[release-pg14] or test_storage_controller_stuck_compute_hook[release-pg14] or test_scrubber_physical_gc_ancestors[release-pg14-2] or test_tenant_config[release-pg14] or test_tenant_config[release-pg14] or test_create_churn_during_restart[release-pg14] or test_pageserver_metrics_many_relations[release-pg14] or test_timeline_retain_lsn[release-pg14-archive-True] or test_timeline_retain_lsn[release-pg14-archive-True] or test_timeline_retain_lsn[release-pg14-None-True] or test_timeline_retain_lsn[release-pg14-None-True] or test_timeline_offload_generations[release-pg14] or test_timeline_offload_generations[release-pg14] or test_timeline_retain_lsn[release-pg14-archive-False] or test_timeline_retain_lsn[release-pg14-archive-False] or test_timeline_retain_lsn[release-pg14-None-False] or test_timeline_retain_lsn[release-pg14-None-False] or test_timeline_delete_fail_before_local_delete[release-pg14] or test_timeline_delete_fail_before_local_delete[release-pg14] or test_retried_detach_ancestor_after_failed_reparenting[release-pg14] or test_retried_detach_ancestor_after_failed_reparenting[release-pg14] or test_ancestor_detach_branched_from[release-pg14-True-True-earlier] or test_ancestor_detach_branched_from[release-pg14-True-True-earlier] or test_ancestor_detach_branched_from[release-pg14-True-True-head] or test_ancestor_detach_branched_from[release-pg14-True-True-head] or test_ancestor_detach_branched_from[release-pg14-True-True-at] or test_ancestor_detach_branched_from[release-pg14-True-True-at] or test_ancestor_detach_branched_from[release-pg14-True-True-after] or test_ancestor_detach_branched_from[release-pg14-True-True-after] or test_ancestor_detach_branched_from[release-pg14-False-True-at] or test_ancestor_detach_branched_from[release-pg14-False-True-at] or test_ancestor_detach_branched_from[release-pg14-False-True-after] or test_ancestor_detach_branched_from[release-pg14-False-True-after] or test_compaction_induced_by_detaches_in_history[release-pg14] or test_compaction_induced_by_detaches_in_history[release-pg14] or test_ancestor_detach_branched_from[release-pg14-False-True-earlier] or test_ancestor_detach_branched_from[release-pg14-False-True-earlier] or test_ancestor_detach_branched_from[release-pg14-False-True-head] or test_ancestor_detach_branched_from[release-pg14-False-True-head] or test_gc_blocking_by_timeline[release-pg14-False] or test_gc_blocking_by_timeline[release-pg14-False] or test_ondemand_activation[release-pg14] or test_ondemand_activation[release-pg14] or test_change_pageserver[release-pg15] or test_change_pageserver[release-pg15] or test_crafted_wal_end[release-pg15-vanilla-simple] or test_crafted_wal_end[release-pg15-vanilla-simple] or test_crafted_wal_end[release-pg15-vanilla-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg15-vanilla-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg15-vanilla-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg15-vanilla-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg15-interpreted-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg15-interpreted-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg15-interpreted-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg15-interpreted-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg15-interpreted-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg15-interpreted-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg15-interpreted-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg15-interpreted-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg15-vanilla-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg15-vanilla-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg15-vanilla-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg15-vanilla-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg15-interpreted-simple] or test_crafted_wal_end[release-pg15-interpreted-simple] or test_ondemand_download_timetravel[release-pg15] or test_ondemand_download_timetravel[release-pg15] or test_pageserver_catchup_while_compute_down[release-pg15] or test_pageserver_restarts_under_worload[release-pg15] or test_pageserver_restarts_under_worload[release-pg15] or test_fixture_restart[release-pg15] or test_fixture_restart[release-pg15] or test_storage_controller_onboarding[release-pg15-False] or test_storage_controller_onboarding[release-pg15-False] or test_storage_controller_stuck_compute_hook[release-pg15] or test_storage_controller_stuck_compute_hook[release-pg15] or test_storage_controller_onboarding[release-pg15-True] or test_storage_controller_onboarding[release-pg15-True] or test_scrubber_physical_gc_ancestors[release-pg15-None] or test_scrubber_physical_gc_timeline_deletion[release-pg15] or test_scrubber_physical_gc_ancestors[release-pg15-2] or test_tenant_config[release-pg15] or test_tenant_config[release-pg15] or test_create_churn_during_restart[release-pg15] or test_create_churn_during_restart[release-pg15] or test_pageserver_metrics_many_relations[release-pg15] or test_timeline_retain_lsn[release-pg15-archive-False] or test_timeline_retain_lsn[release-pg15-archive-False] or test_timeline_retain_lsn[release-pg15-None-False] or test_timeline_retain_lsn[release-pg15-None-False] or test_timeline_retain_lsn[release-pg15-None-True] or test_timeline_retain_lsn[release-pg15-None-True] or test_timeline_retain_lsn[release-pg15-archive-True] or test_timeline_retain_lsn[release-pg15-archive-True] or test_timeline_offload_generations[release-pg15] or test_timeline_offload_generations[release-pg15] or test_timeline_delete_fail_before_local_delete[release-pg15] or test_timeline_delete_fail_before_local_delete[release-pg15] or test_retried_detach_ancestor_after_failed_reparenting[release-pg15] or test_retried_detach_ancestor_after_failed_reparenting[release-pg15] or test_ancestor_detach_branched_from[release-pg15-True-True-after] or test_ancestor_detach_branched_from[release-pg15-True-True-after] or test_ancestor_detach_branched_from[release-pg15-True-True-at] or test_ancestor_detach_branched_from[release-pg15-True-True-at] or test_ancestor_detach_branched_from[release-pg15-True-True-head] or test_ancestor_detach_branched_from[release-pg15-True-True-head] or test_ancestor_detach_branched_from[release-pg15-False-True-earlier] or test_ancestor_detach_branched_from[release-pg15-False-True-earlier] or test_ancestor_detach_branched_from[release-pg15-False-True-head] or test_ancestor_detach_branched_from[release-pg15-False-True-head] or test_ancestor_detach_branched_from[release-pg15-True-True-earlier] or test_ancestor_detach_branched_from[release-pg15-True-True-earlier] or test_compaction_induced_by_detaches_in_history[release-pg15] or test_compaction_induced_by_detaches_in_history[release-pg15] or test_ancestor_detach_branched_from[release-pg15-False-True-at] or test_ancestor_detach_branched_from[release-pg15-False-True-at] or test_ancestor_detach_branched_from[release-pg15-False-True-after] or test_ancestor_detach_branched_from[release-pg15-False-True-after] or test_gc_blocking_by_timeline[release-pg15-False] or test_gc_blocking_by_timeline[release-pg15-False] or test_ondemand_activation[release-pg15] or test_ondemand_activation[release-pg15] or test_change_pageserver[release-pg16] or test_change_pageserver[release-pg16] or test_lfc_resize[release-pg16] or test_crafted_wal_end[release-pg16-vanilla-simple] or test_crafted_wal_end[release-pg16-vanilla-simple] or test_crafted_wal_end[release-pg16-vanilla-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg16-vanilla-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg16-vanilla-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg16-vanilla-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg16-interpreted-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg16-interpreted-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg16-interpreted-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg16-interpreted-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg16-interpreted-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg16-interpreted-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg16-interpreted-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg16-interpreted-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg16-vanilla-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg16-vanilla-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg16-vanilla-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg16-vanilla-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg16-interpreted-simple] or test_crafted_wal_end[release-pg16-interpreted-simple] or test_ondemand_download_timetravel[release-pg16] or test_ondemand_download_timetravel[release-pg16] or test_pageserver_reconnect[release-pg16] or test_pageserver_catchup_while_compute_down[release-pg16] or test_pageserver_catchup_while_compute_down[release-pg16] or test_pageserver_restarts_under_worload[release-pg16] or test_pageserver_restarts_under_worload[release-pg16] or test_sharding_split_smoke[release-pg16] or test_fixture_restart[release-pg16] or test_fixture_restart[release-pg16] or test_storage_controller_onboarding[release-pg16-True] or test_storage_controller_onboarding[release-pg16-True] or test_storage_controller_onboarding[release-pg16-False] or test_storage_controller_onboarding[release-pg16-False] or test_storage_controller_stuck_compute_hook[release-pg16] or test_storage_controller_stuck_compute_hook[release-pg16] or test_scrubber_physical_gc_ancestors[release-pg16-2] or test_tenant_config[release-pg16] or test_tenant_config[release-pg16] or test_create_churn_during_restart[release-pg16] or test_create_churn_during_restart[release-pg16] or test_pageserver_metrics_many_relations[release-pg16] or test_timeline_retain_lsn[release-pg16-archive-False] or test_timeline_retain_lsn[release-pg16-archive-False] or test_timeline_retain_lsn[release-pg16-archive-True] or test_timeline_retain_lsn[release-pg16-archive-True] or test_timeline_offload_generations[release-pg16] or test_timeline_offload_generations[release-pg16] or test_timeline_retain_lsn[release-pg16-None-False] or test_timeline_retain_lsn[release-pg16-None-False] or test_timeline_retain_lsn[release-pg16-None-True] or test_timeline_retain_lsn[release-pg16-None-True] or test_timeline_delete_fail_before_local_delete[release-pg16] or test_timeline_delete_fail_before_local_delete[release-pg16] or test_compaction_induced_by_detaches_in_history[release-pg16] or test_compaction_induced_by_detaches_in_history[release-pg16] or test_retried_detach_ancestor_after_failed_reparenting[release-pg16] or test_retried_detach_ancestor_after_failed_reparenting[release-pg16] or test_ancestor_detach_branched_from[release-pg16-True-True-after] or test_ancestor_detach_branched_from[release-pg16-True-True-after] or test_ancestor_detach_branched_from[release-pg16-True-True-earlier] or test_ancestor_detach_branched_from[release-pg16-True-True-earlier] or test_ancestor_detach_branched_from[release-pg16-True-True-at] or test_ancestor_detach_branched_from[release-pg16-True-True-at] or test_ancestor_detach_branched_from[release-pg16-True-True-head] or test_ancestor_detach_branched_from[release-pg16-True-True-head] or test_ancestor_detach_branched_from[release-pg16-False-True-earlier] or test_ancestor_detach_branched_from[release-pg16-False-True-earlier] or test_ancestor_detach_branched_from[release-pg16-False-True-head] or test_ancestor_detach_branched_from[release-pg16-False-True-head] or test_ancestor_detach_branched_from[release-pg16-False-True-after] or test_ancestor_detach_branched_from[release-pg16-False-True-after] or test_ancestor_detach_branched_from[release-pg16-False-True-at] or test_ancestor_detach_branched_from[release-pg16-False-True-at] or test_gc_blocking_by_timeline[release-pg16-False] or test_gc_blocking_by_timeline[release-pg16-False] or test_ondemand_activation[release-pg16] or test_ondemand_activation[release-pg16] or test_change_pageserver[release-pg17] or test_change_pageserver[release-pg17] or test_change_pageserver[debug-pg17] or test_change_pageserver[release-pg17] or test_change_pageserver[release-pg17] or test_lfc_resize[release-pg17] or test_crafted_wal_end[release-pg17-vanilla-simple] or test_crafted_wal_end[release-pg17-vanilla-simple] or test_crafted_wal_end[debug-pg17-vanilla-simple] or test_crafted_wal_end[release-pg17-vanilla-simple] or test_crafted_wal_end[release-pg17-vanilla-simple] or test_crafted_wal_end[release-pg17-vanilla-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg17-vanilla-last_wal_record_xlog_switch] or test_crafted_wal_end[debug-pg17-vanilla-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg17-vanilla-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg17-vanilla-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg17-vanilla-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg17-vanilla-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[debug-pg17-vanilla-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg17-vanilla-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg17-vanilla-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg17-interpreted-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg17-interpreted-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[debug-pg17-interpreted-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg17-interpreted-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg17-interpreted-last_wal_record_xlog_switch_ends_on_page_boundary] or test_crafted_wal_end[release-pg17-interpreted-simple] or test_crafted_wal_end[release-pg17-interpreted-simple] or test_crafted_wal_end[release-pg17-interpreted-simple] or test_crafted_wal_end[debug-pg17-interpreted-simple] or test_crafted_wal_end[release-pg17-interpreted-simple] or test_crafted_wal_end[release-pg17-interpreted-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg17-interpreted-last_wal_record_crossing_segment] or test_crafted_wal_end[debug-pg17-interpreted-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg17-interpreted-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg17-interpreted-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg17-interpreted-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg17-interpreted-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg17-interpreted-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[debug-pg17-interpreted-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg17-interpreted-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg17-interpreted-last_wal_record_xlog_switch] or test_crafted_wal_end[debug-pg17-interpreted-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg17-interpreted-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg17-interpreted-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg17-interpreted-last_wal_record_xlog_switch] or test_crafted_wal_end[release-pg17-vanilla-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg17-vanilla-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg17-vanilla-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg17-vanilla-last_wal_record_crossing_segment] or test_crafted_wal_end[debug-pg17-vanilla-last_wal_record_crossing_segment] or test_crafted_wal_end[release-pg17-vanilla-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg17-vanilla-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg17-vanilla-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[release-pg17-vanilla-wal_record_crossing_segment_followed_by_small_one] or test_crafted_wal_end[debug-pg17-vanilla-wal_record_crossing_segment_followed_by_small_one] or test_ondemand_download_timetravel[release-pg17] or test_ondemand_download_timetravel[release-pg17] or test_ondemand_download_timetravel[release-pg17] or test_ondemand_download_timetravel[debug-pg17] or test_ondemand_download_timetravel[release-pg17] or test_idle_checkpoints[debug-pg17] or test_pageserver_reconnect[release-pg17] or test_pageserver_catchup_while_compute_down[release-pg17] or test_pageserver_catchup_while_compute_down[release-pg17] or test_pageserver_catchup_while_compute_down[release-pg17] or test_pageserver_catchup_while_compute_down[release-pg17] or test_pageserver_restarts_under_worload[release-pg17] or test_pageserver_restarts_under_worload[release-pg17] or test_pageserver_restarts_under_worload[debug-pg17] or test_pageserver_restarts_under_worload[release-pg17] or test_pageserver_restarts_under_worload[release-pg17] or test_sharding_split_smoke[debug-pg17] or test_sharding_split_smoke[release-pg17] or test_sharding_split_smoke[release-pg17] or test_fixture_restart[release-pg17] or test_fixture_restart[release-pg17] or test_fixture_restart[debug-pg17] or test_fixture_restart[release-pg17] or test_fixture_restart[release-pg17] or test_storage_controller_onboarding[release-pg17-True] or test_storage_controller_onboarding[release-pg17-True] or test_storage_controller_onboarding[release-pg17-True] or test_storage_controller_onboarding[debug-pg17-True] or test_storage_controller_onboarding[release-pg17-True] or test_storage_controller_onboarding[release-pg17-False] or test_storage_controller_onboarding[release-pg17-False] or test_storage_controller_onboarding[release-pg17-False] or test_storage_controller_onboarding[debug-pg17-False] or test_storage_controller_onboarding[release-pg17-False] or test_storage_controller_stuck_compute_hook[release-pg17] or test_storage_controller_stuck_compute_hook[release-pg17] or test_storage_controller_stuck_compute_hook[release-pg17] or test_storage_controller_stuck_compute_hook[debug-pg17] or test_storage_controller_stuck_compute_hook[release-pg17] or test_storage_controller_compute_hook_revert[release-pg17] or test_storage_controller_compute_hook_revert[release-pg17] or test_storage_controller_compute_hook_revert[release-pg17] or test_storage_controller_compute_hook_revert[debug-pg17] or test_storage_controller_compute_hook_revert[release-pg17] or test_scrubber_physical_gc_timeline_deletion[release-pg17] or test_scrubber_physical_gc_ancestors[release-pg17-2] or test_scrubber_physical_gc_ancestors[release-pg17-2] or test_scrubber_physical_gc_ancestors[debug-pg17-None] or test_tenant_config[release-pg17] or test_tenant_config[release-pg17] or test_tenant_config[release-pg17] or test_tenant_config[debug-pg17] or test_tenant_config[release-pg17] or test_create_churn_during_restart[release-pg17] or test_create_churn_during_restart[debug-pg17] or test_create_churn_during_restart[release-pg17] or test_pageserver_metrics_many_relations[release-pg17] or test_pageserver_metrics_many_relations[release-pg17] or test_timeline_retain_lsn[release-pg17-archive-True] or test_timeline_retain_lsn[release-pg17-archive-True] or test_timeline_retain_lsn[release-pg17-archive-True] or test_timeline_retain_lsn[release-pg17-archive-True] or test_timeline_retain_lsn[debug-pg17-archive-True] or test_timeline_retain_lsn[release-pg17-archive-False] or test_timeline_retain_lsn[release-pg17-archive-False] or test_timeline_retain_lsn[release-pg17-archive-False] or test_timeline_retain_lsn[debug-pg17-archive-False] or test_timeline_retain_lsn[release-pg17-archive-False] or test_timeline_retain_lsn[release-pg17-None-False] or test_timeline_retain_lsn[release-pg17-None-False] or test_timeline_retain_lsn[release-pg17-None-False] or test_timeline_retain_lsn[debug-pg17-None-False] or test_timeline_retain_lsn[release-pg17-None-False] or test_timeline_offload_generations[release-pg17] or test_timeline_offload_generations[release-pg17] or test_timeline_offload_generations[release-pg17] or test_timeline_offload_generations[debug-pg17] or test_timeline_offload_generations[release-pg17] or test_timeline_retain_lsn[release-pg17-None-True] or test_timeline_retain_lsn[release-pg17-None-True] or test_timeline_retain_lsn[release-pg17-None-True] or test_timeline_retain_lsn[debug-pg17-None-True] or test_timeline_retain_lsn[release-pg17-None-True] or test_timeline_archival_chaos[release-pg17] or test_timeline_archival_chaos[release-pg17] or test_timeline_archival_chaos[release-pg17] or test_timeline_archival_chaos[release-pg17] or test_timeline_delete_fail_before_local_delete[release-pg17] or test_timeline_delete_fail_before_local_delete[release-pg17] or test_timeline_delete_fail_before_local_delete[release-pg17] or test_timeline_delete_fail_before_local_delete[release-pg17] or test_timeline_delete_fail_before_local_delete[debug-pg17] or test_compaction_induced_by_detaches_in_history[release-pg17] or test_compaction_induced_by_detaches_in_history[release-pg17] or test_compaction_induced_by_detaches_in_history[release-pg17] or test_compaction_induced_by_detaches_in_history[release-pg17] or test_compaction_induced_by_detaches_in_history[debug-pg17] or test_retried_detach_ancestor_after_failed_reparenting[release-pg17] or test_retried_detach_ancestor_after_failed_reparenting[release-pg17] or test_retried_detach_ancestor_after_failed_reparenting[release-pg17] or test_retried_detach_ancestor_after_failed_reparenting[release-pg17] or test_retried_detach_ancestor_after_failed_reparenting[debug-pg17] or test_ancestor_detach_branched_from[release-pg17-True-True-earlier] or test_ancestor_detach_branched_from[release-pg17-True-True-earlier] or test_ancestor_detach_branched_from[release-pg17-True-True-earlier] or test_ancestor_detach_branched_from[debug-pg17-True-True-earlier] or test_ancestor_detach_branched_from[release-pg17-True-True-earlier] or test_ancestor_detach_branched_from[release-pg17-True-True-head] or test_ancestor_detach_branched_from[release-pg17-True-True-head] or test_ancestor_detach_branched_from[release-pg17-True-True-head] or test_ancestor_detach_branched_from[release-pg17-True-True-head] or test_ancestor_detach_branched_from[debug-pg17-True-True-head] or test_ancestor_detach_branched_from[release-pg17-True-True-after] or test_ancestor_detach_branched_from[release-pg17-True-True-after] or test_ancestor_detach_branched_from[release-pg17-True-True-after] or test_ancestor_detach_branched_from[debug-pg17-True-True-after] or test_ancestor_detach_branched_from[release-pg17-True-True-after] or test_ancestor_detach_branched_from[release-pg17-False-True-earlier] or test_ancestor_detach_branched_from[release-pg17-False-True-earlier] or test_ancestor_detach_branched_from[release-pg17-False-True-earlier] or test_ancestor_detach_branched_from[release-pg17-False-True-earlier] or test_ancestor_detach_branched_from[debug-pg17-False-True-earlier] or test_ancestor_detach_branched_from[release-pg17-True-True-at] or test_ancestor_detach_branched_from[release-pg17-True-True-at] or test_ancestor_detach_branched_from[release-pg17-True-True-at] or test_ancestor_detach_branched_from[release-pg17-True-True-at] or test_ancestor_detach_branched_from[debug-pg17-True-True-at] or test_ancestor_detach_branched_from[release-pg17-False-True-after] or test_ancestor_detach_branched_from[release-pg17-False-True-after] or test_ancestor_detach_branched_from[release-pg17-False-True-after] or test_ancestor_detach_branched_from[debug-pg17-False-True-after] or test_ancestor_detach_branched_from[release-pg17-False-True-after] or test_ancestor_detach_branched_from[release-pg17-False-True-head] or test_ancestor_detach_branched_from[release-pg17-False-True-head] or test_ancestor_detach_branched_from[release-pg17-False-True-head] or test_ancestor_detach_branched_from[debug-pg17-False-True-head] or test_ancestor_detach_branched_from[release-pg17-False-True-head] or test_ancestor_detach_branched_from[release-pg17-False-True-at] or test_ancestor_detach_branched_from[release-pg17-False-True-at] or test_ancestor_detach_branched_from[release-pg17-False-True-at] or test_ancestor_detach_branched_from[release-pg17-False-True-at] or test_ancestor_detach_branched_from[debug-pg17-False-True-at] or test_gc_blocking_by_timeline[release-pg17-False] or test_gc_blocking_by_timeline[release-pg17-False] or test_gc_blocking_by_timeline[release-pg17-False] or test_gc_blocking_by_timeline[release-pg17-False] or test_gc_blocking_by_timeline[debug-pg17-False] or test_ondemand_activation[release-pg17] or test_ondemand_activation[release-pg17] or test_ondemand_activation[release-pg17] or test_ondemand_activation[release-pg17] or test_ondemand_activation[debug-pg17]"
Flaky tests (34)

Postgres 17

Postgres 16

Postgres 15

Postgres 14

Test coverage report is not available

The comment gets automatically updated with the latest test results
1fd52b2 at 2024-12-17T12:34:22.375Z :recycle:

Base automatically changed from erik/revert-flush-wait to main December 15, 2024 09:47
@erikgrinaker erikgrinaker force-pushed the erik/flush-upload-parallel branch 7 times, most recently from e65230b to 9258dcb Compare December 17, 2024 11:09
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.

pageserver: improve flush upload queue parallelism
1 participant