diff --git a/tests/integration/query_processing/test_btree.rs b/tests/integration/query_processing/test_btree.rs index e98b762ed..7ad4ac828 100644 --- a/tests/integration/query_processing/test_btree.rs +++ b/tests/integration/query_processing/test_btree.rs @@ -428,10 +428,13 @@ impl BTreeGenerator<'_> { } fn write_at(io: &impl IO, file: Arc, offset: usize, data: &[u8]) { - let completion = Completion::new_write(|_| {}); - let drop_fn = Rc::new(move |_| {}); #[allow(clippy::arc_with_non_send_sync)] - let buffer = Arc::new(Buffer::new(Pin::new(data.to_vec()), drop_fn)); + let buffer = Arc::new(Buffer::new(data.to_vec())); + let _buf = buffer.clone(); + let completion = Completion::new_write(|_| { + // reference the buffer to keep alive for async io + let _buf = _buf.clone(); + }); let result = file.pwrite(offset, buffer, completion).unwrap(); while !result.is_completed() { io.run_once().unwrap();