From 0e667dcd93ab94227a5a508588bb2ef0c8f6a80e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arpad=20M=C3=BCller?= Date: Fri, 7 Jun 2024 01:14:00 +0200 Subject: [PATCH] more yielding --- pageserver/src/tenant/storage_layer/image_layer.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pageserver/src/tenant/storage_layer/image_layer.rs b/pageserver/src/tenant/storage_layer/image_layer.rs index 2ec5e3a81b..c1cb328bad 100644 --- a/pageserver/src/tenant/storage_layer/image_layer.rs +++ b/pageserver/src/tenant/storage_layer/image_layer.rs @@ -440,11 +440,16 @@ impl ImageLayer { .await?; let cursor = block_reader.block_cursor(); + let mut counter = 0u32; while let Some(r) = key_offset_stream.next().await { let (key, offset) = r?; let key = Key::from_slice(&key); let content = cursor.read_blob(offset, ctx).await?; writer.put_image(key, content.into(), ctx).await?; + counter += 1; + if counter % 2048 == 0 { + tokio::task::yield_now().await; + } } Ok(writer.size()) }