From 2b8c62a9ec8a5d8c106e8cd9ed84d170b63716a7 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 16 Oct 2026 03:51:22 +0000 Subject: [PATCH 1/7] Adopt queued io_uring submission in Bycorf Update the runtime submodule and describe batch-read completion accounting across deferred backend admission. --- bycorf | 2 +- src/storage/engine/read.cpp | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/bycorf b/bycorf index 0f7b4c073..c3c24b8c2 160000 --- a/bycorf +++ b/bycorf @@ -1 +1 @@ -Subproject commit 0f7b4c0730d515422531528ecacb65457afdd939 +Subproject commit c3c24b8c28ab1bd32b7a8e8f6c5be0e2378e3eea diff --git a/src/storage/engine/read.cpp b/src/storage/engine/read.cpp index 53365b78c..6563ec672 100644 --- a/src/storage/engine/read.cpp +++ b/src/storage/engine/read.cpp @@ -63,11 +63,10 @@ class BatchReadAwaiter { --remaining_; } } - // A full io_uring SQ may submit and reap earlier operations while this - // loop is still preparing the batch. Unvisited operations are already in - // remaining_, so those completions cannot resume us early. The operation - // passed to each SubmitRead is itself guaranteed to complete - // asynchronously. + // Count the whole batch before submission and retire immediate rejections + // locally. Accepted operations remain outstanding while queued for backend + // capacity; each deferred completion retires one count, and only the last + // wakes the caller. return remaining_ != 0; } From a2971ac5372df3405a12f6b7857f321cd2d9d133 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 16 Oct 2026 04:48:22 +0000 Subject: [PATCH 2/7] Adopt SPDK pending queues without a fixed request pool --- bycorf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bycorf b/bycorf index c3c24b8c2..e09bd7db8 160000 --- a/bycorf +++ b/bycorf @@ -1 +1 @@ -Subproject commit c3c24b8c28ab1bd32b7a8e8f6c5be0e2378e3eea +Subproject commit e09bd7db8974d5d0d31ae2b0269197b51a903791 From 28e9a4cd7339dd42a425a470927a4d7bda7116ee Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 16 Oct 2026 05:01:48 +0000 Subject: [PATCH 3/7] Update Bycorf wake regression for deferred task work --- bycorf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bycorf b/bycorf index e09bd7db8..b47fb6066 160000 --- a/bycorf +++ b/bycorf @@ -1 +1 @@ -Subproject commit e09bd7db8974d5d0d31ae2b0269197b51a903791 +Subproject commit b47fb60667a4c12e8ffacdbc661a681cc0530890 From acd594c99b463c0b7f004766300a5b3ca95c4164 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 16 Oct 2026 06:14:54 +0000 Subject: [PATCH 4/7] Allow the compact collection matrix to finish on ARM64 The ARM64 CI run completed 49 of 50 cases in 595.557 seconds before the aggregate 600-second timeout killed the last case. The successful main baseline already took 579.81 seconds for this matrix. Give the complete write/recovery matrix a 900-second budget while preserving fixture-level deadlines. All 50 cases and the 16 CI runner/bundle checks pass locally. --- CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cd97a9ea8..a3b5d001c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2251,8 +2251,11 @@ endforeach() NAME lavik_compact_collection_write_e2e COMMAND lavik_compact_collection_write_e2e_test $ ) + # The full write/recovery matrix can exceed ten minutes on ARM64 Debug + # runners. Allow time for all cases; their individual wait deadlines remain + # bounded by the fixtures. set_tests_properties(lavik_compact_collection_write_e2e PROPERTIES - TIMEOUT 600 RUN_SERIAL TRUE + TIMEOUT 900 RUN_SERIAL TRUE ) add_executable(lavik_adaptive_flush_e2e_test From f04296af6a5a084a500b8ed4abf5fb6a77179585 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 16 Oct 2026 07:42:37 +0000 Subject: [PATCH 5/7] Update Bycorf to avoid SQE copies on the fast path --- bycorf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bycorf b/bycorf index b47fb6066..fd4c86eb9 160000 --- a/bycorf +++ b/bycorf @@ -1 +1 @@ -Subproject commit b47fb60667a4c12e8ffacdbc661a681cc0530890 +Subproject commit fd4c86eb95a00be241dbeba9e928a6dc22de079f From a8d066005de1e7833598f8166d850814d0daa561 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 16 Oct 2026 09:25:24 +0000 Subject: [PATCH 6/7] update bycorf --- bycorf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bycorf b/bycorf index fd4c86eb9..68095c7b3 160000 --- a/bycorf +++ b/bycorf @@ -1 +1 @@ -Subproject commit fd4c86eb95a00be241dbeba9e928a6dc22de079f +Subproject commit 68095c7b330c3c14efc43239b93feff22512f2e8 From d3a350f16ba2461577cd8948d0bc2d5869e9aa52 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 16 Oct 2026 09:28:16 +0000 Subject: [PATCH 7/7] Clarify the compact collection suite timeout comment --- CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a3b5d001c..5a9e91a5d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2252,8 +2252,7 @@ endforeach() COMMAND lavik_compact_collection_write_e2e_test $ ) # The full write/recovery matrix can exceed ten minutes on ARM64 Debug - # runners. Allow time for all cases; their individual wait deadlines remain - # bounded by the fixtures. + # runners; allow more time for the complete suite. set_tests_properties(lavik_compact_collection_write_e2e PROPERTIES TIMEOUT 900 RUN_SERIAL TRUE )