John Spray
a0b862a8bd
pageserver: schedule frozen layer uploads inside the layers lock ( #5639 )
...
## Problem
Compaction's source of truth for what layers exist is the LayerManager.
`flush_frozen_layer` updates LayerManager before it has scheduled upload
of the frozen layer.
Compaction can then "see" the new layer, decide to delete it, schedule
uploads of replacement layers, all before `flush_frozen_layer` wakes up
again and schedules the upload. When the upload is scheduled, the local
layer file may be gone, in which case we end up with no such layer in
remote storage, but an entry still added to IndexPart pointing to the
missing layer.
## Summary of changes
Schedule layer uploads inside the `self.layers` lock, so that whenever a
frozen layer is present in LayerManager, it is also present in
RemoteTimelineClient's metadata.
Closes : #5635
2023-10-24 13:57:01 +01:00
..
2023-09-12 15:11:32 +02:00
2023-07-20 13:39:19 -04:00
2023-09-08 13:54:23 +03:00
2023-07-18 12:56:40 +03:00
2023-07-18 12:56:40 +03:00
2023-04-13 14:34:29 +03:00
2023-07-03 15:21:10 +03:00
2023-07-03 15:21:10 +03:00
2023-10-17 10:04:56 +01:00
2023-09-28 12:25:20 +03:00
2023-07-18 12:56:40 +03:00
2023-04-13 14:34:29 +03:00
2023-09-08 16:19:57 +01:00
2023-09-18 12:58:34 +01:00
2023-04-13 14:34:29 +03:00
2023-04-13 14:34:29 +03:00
2023-09-15 16:50:57 +03:00
2023-04-13 14:34:29 +03:00
2023-10-16 20:46:45 +02:00
2023-09-27 10:00:21 +01:00
2023-09-12 15:11:32 +02:00
2023-10-17 10:04:56 +01:00
2023-04-13 14:34:29 +03:00
2023-08-03 17:20:24 +03:00
2023-10-17 10:04:56 +01:00
2023-08-19 01:01:44 +03:00
2023-08-09 16:27:53 +01:00
2023-09-15 11:17:18 +01:00
2023-09-08 16:19:57 +01:00
2023-10-17 10:04:56 +01:00
2023-09-15 11:17:18 +01:00
2023-09-19 21:55:36 +03:00
2023-04-25 14:10:18 +02:00
2023-10-18 16:42:22 +03:00
2023-10-19 04:50:49 +02:00
2023-07-21 21:20:53 +03:00
2023-09-08 16:19:57 +01:00
2023-08-03 17:20:24 +03:00
2023-04-13 14:34:29 +03:00
2023-04-13 14:34:29 +03:00
2023-07-18 12:56:40 +03:00
2023-10-17 10:04:56 +01:00
2023-10-20 10:57:59 +03:00
2023-04-13 14:34:29 +03:00
2023-10-17 13:26:11 +01:00
2023-09-28 12:25:20 +03:00
2023-10-16 18:21:37 +01:00
2023-10-18 13:28:38 +01:00
2023-07-18 12:56:40 +03:00
2023-08-10 15:24:43 +03:00
2023-04-13 14:34:29 +03:00
2023-09-16 18:05:35 +03:00
2023-10-17 13:55:52 +00:00
2023-09-08 16:19:57 +01:00
2023-07-18 12:56:40 +03:00
2023-04-13 14:34:29 +03:00
2023-07-31 07:43:12 +00:00
2023-10-24 13:57:01 +01:00
2023-07-18 12:56:40 +03:00
2023-08-03 17:20:24 +03:00
2023-08-10 15:24:43 +03:00
2023-09-15 11:17:18 +01:00
2023-10-06 09:49:31 +01:00
2023-10-18 13:28:38 +01:00
2023-09-15 11:17:18 +01:00
2023-09-29 09:15:43 +01:00
2023-06-15 17:30:12 +03:00
2023-10-17 10:04:56 +01:00
2023-09-28 12:25:20 +03:00
2023-09-16 01:11:01 +03:00
2023-10-03 17:00:55 +01:00
2023-09-28 12:25:20 +03:00
2023-07-18 12:56:40 +03:00
2023-04-13 14:34:29 +03:00
2023-04-13 14:34:29 +03:00
2023-09-15 17:47:29 +03:00
2023-10-11 10:49:15 +01:00
2023-10-20 10:57:59 +03:00
2023-06-19 15:59:38 +04:00
2023-09-08 16:19:57 +01:00
2023-09-15 11:17:18 +01:00