Erik Grinaker
f3ecd5d76a
pageserver: revert flush backpressure ( #8550 ) ( #10135 )
...
## 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 WAL ingestion (only via
`disk_consistent_lsn`), and will build up in-memory layers.
* It does not directly backpressure based on compaction debt and read
amplification.
An alternative solution to these problems is proposed in #8390 .
In the meanwhile, we revert the change to reduce the impact on ingest
throughput. This does reintroduce some risk of unbounded
upload/compaction buildup. Until
https://github.com/neondatabase/neon/issues/8390 , this can be addressed
in other ways:
* Use `max_replication_apply_lag` (aka `remote_consistent_lsn`), which
will more directly limit upload debt.
* Shard the tenant, which will spread the flush/upload work across more
Pageservers and move the bottleneck to Safekeeper.
Touches #10095 .
## Summary of changes
Remove waiting on the upload queue in the flush loop.
2024-12-15 09:45:12 +00:00
..
2024-09-12 23:18:41 +01:00
2024-10-08 14:32:26 -05:00
2024-12-02 10:26:15 +00:00
2024-10-29 11:39:09 +00:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-11-11 18:07:01 +00:00
2024-10-08 14:32:26 -05:00
2024-12-15 09:45:12 +00:00
2024-10-31 14:44:59 +00:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-11-25 09:01:05 +00:00
2024-12-12 20:23:24 +00:00
2024-11-21 16:25:31 +00:00
2024-11-28 21:38:30 +00:00
2024-11-08 12:19:18 -06:00
2024-12-06 17:43:55 +00:00
2024-10-08 14:32:26 -05:00
2024-11-27 12:12:21 +00:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-12-14 17:37:13 +00:00
2024-12-11 19:16:33 +00:00
2024-12-11 22:21:42 +00:00
2024-10-08 14:32:26 -05:00
2024-11-25 09:01:05 +00:00
2024-10-18 15:07:36 +03:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-12-02 10:26:15 +00:00
2024-11-22 22:47:06 +00:00
2024-10-31 14:44:59 +00:00
2024-12-11 19:16:33 +00:00
2024-12-11 16:43:26 +00:00
2024-10-08 14:32:26 -05:00
2024-11-11 18:07:01 +00:00
2024-11-11 18:07:01 +00:00
2024-10-08 14:32:26 -05:00
2024-12-11 19:16:33 +00:00
2024-11-25 09:01:05 +00:00
2024-11-25 09:01:05 +00:00
2024-11-25 09:01:05 +00:00
2024-12-02 10:26:15 +00:00
2024-12-12 11:57:00 +00:00
2024-12-02 10:26:15 +00:00
2024-09-16 16:38:55 +01:00
2024-10-08 14:32:26 -05:00
2024-12-10 19:42:52 +00:00
2024-11-11 18:07:01 +00:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-12-02 10:26:15 +00:00
2024-10-18 12:42:41 +02:00
2024-10-08 14:32:26 -05:00
2024-11-25 09:01:05 +00:00
2024-10-08 14:32:26 -05:00
2024-12-02 10:26:15 +00:00
2024-11-21 16:25:31 +00:00
2024-11-19 22:29:57 +02:00
2024-12-02 10:26:15 +00:00
2024-10-08 14:32:26 -05:00
2024-12-11 19:16:33 +00:00
2024-12-02 10:26:15 +00:00
2024-12-03 22:07:03 +00:00
2024-12-02 10:26:15 +00:00
2024-12-11 22:21:42 +00:00
2024-10-08 14:32:26 -05:00
2024-12-02 10:26:15 +00:00
2024-10-08 14:32:26 -05:00
2024-12-02 10:26:15 +00:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-11-21 16:25:31 +00:00
2024-10-08 14:32:26 -05:00
2024-11-13 08:50:01 +02:00
2024-12-01 12:23:10 +00:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-12-13 14:52:54 +00:00
2024-10-08 14:32:26 -05:00
2024-12-11 22:21:42 +00:00
2024-11-08 14:43:15 -06:00
2024-12-04 12:58:35 +00:00
2024-11-25 09:01:05 +00:00
2024-12-02 10:26:15 +00:00
2024-10-08 14:32:26 -05:00
2024-12-15 09:45:12 +00:00
2024-12-02 10:26:15 +00:00
2024-10-18 11:25:45 +01:00
2024-11-21 16:25:31 +00:00
2024-10-08 14:32:26 -05:00
2024-12-11 22:21:42 +00:00
2024-11-22 14:31:36 +00:00
2024-12-12 01:09:24 +00:00
2024-12-10 17:00:47 +00:00
2024-12-02 10:26:15 +00:00
2024-11-27 12:12:21 +00:00
2024-12-11 19:16:33 +00:00
2024-12-02 10:26:15 +00:00
2024-12-02 10:26:15 +00:00
2024-12-02 10:26:15 +00:00
2024-12-02 10:26:15 +00:00
2024-12-02 10:26:15 +00:00
2024-12-02 10:26:15 +00:00
2024-12-02 10:26:15 +00:00
2024-12-11 22:21:42 +00:00
2024-12-13 16:28:21 +00:00
2024-12-02 10:26:15 +00:00
2024-12-11 19:16:33 +00:00
2024-12-02 10:26:15 +00:00
2024-12-02 10:26:15 +00:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-10-08 14:32:26 -05:00
2024-10-28 17:47:15 -05:00
2024-12-11 21:37:25 +00:00
2024-11-14 17:19:13 +02:00
2024-11-27 12:12:21 +00:00
2024-12-02 10:26:15 +00:00
2024-12-02 10:26:15 +00:00
2024-11-08 12:19:18 -06:00
2024-10-08 14:32:26 -05:00