From c8c04c0db8ec58d07d63b9f7f240650627ad09ad Mon Sep 17 00:00:00 2001 From: Christian Schwarz Date: Wed, 13 Mar 2024 14:06:33 +0000 Subject: [PATCH] experiment: for EphemeralFile write path, use StdFs io engine together with previous commits, this brings us back down to pre-regression test_bulk_insert[neon-release-pg14-tokio-epoll-uring].wal_written: 345 MB test_bulk_insert[neon-release-pg14-tokio-epoll-uring].wal_recovery: 9.991 s --- pageserver/src/tenant/ephemeral_file.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pageserver/src/tenant/ephemeral_file.rs b/pageserver/src/tenant/ephemeral_file.rs index 86642e69ab..943cd22809 100644 --- a/pageserver/src/tenant/ephemeral_file.rs +++ b/pageserver/src/tenant/ephemeral_file.rs @@ -5,7 +5,8 @@ use crate::config::PageServerConf; use crate::context::RequestContext; use crate::page_cache::{self, PAGE_SZ}; use crate::tenant::block_io::{BlockCursor, BlockLease, BlockReader}; -use crate::virtual_file::{self, io_engine, VirtualFile}; +use crate::virtual_file::io_engine::IoEngine; +use crate::virtual_file::{self, VirtualFile}; use bytes::BytesMut; use camino::Utf8PathBuf; use pageserver_api::shard::TenantShardId; @@ -160,7 +161,11 @@ impl EphemeralFile { let (mutable_tail, res) = self .ephemeral_file .file - .write_all_at(mutable_tail, self.blknum as u64 * PAGE_SZ as u64, io_engine::get() /* TODO: experiment with StdFs here, did it in an earlier commit in this branch */) + .write_all_at( + mutable_tail, + self.blknum as u64 * PAGE_SZ as u64, + IoEngine::StdFs, + ) .await; // TODO: If we panic before we can put the mutable_tail back, subsequent calls will fail. // I.e., the IO isn't retryable if we panic.