This is an automated email from the ASF dual-hosted git repository. hubcio pushed a commit to branch update-all-deps-workspace in repository https://gitbox.apache.org/repos/asf/iggy.git
commit 71c02d7a3dc4b3a0f70e624d9515888405184d8f Author: Hubert Gruszecki <[email protected]> AuthorDate: Wed Sep 2 11:02:25 2026 +0200 test(partitions): box rebuilt partitions to avoid a stack overflow compio-runtime 0.12.6 runs block_on inside catch_unwind and moves the future through several extra frames. Unoptimized builds keep a copy in each, so a #[compio::test] now needs roughly fifteen times its future size in stack instead of five. The dead-incarnation rebuild test held five 32 KiB IggyPartition values across awaits: a 160 KiB future that needed 2.7 MiB against the 2 MiB test thread default and aborted every CI retry with "has overflowed its stack". Boxing the four rebuilt partitions brings it back under 900 KiB, in line with the other purge tests. Release builds elide the copies, so iggy-server is unaffected. --- core/partitions/src/iggy_partition.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/partitions/src/iggy_partition.rs b/core/partitions/src/iggy_partition.rs index b08a4e2db..1af433af2 100644 --- a/core/partitions/src/iggy_partition.rs +++ b/core/partitions/src/iggy_partition.rs @@ -8553,8 +8553,12 @@ mod purge_floor_tests { .expect("purge partition"); assert_eq!(partition.applied_purge_generation(), 4); + // Boxed: all four rebuilt partitions live across awaits. Five inline + // partitions make this future large enough that unoptimized builds, + // which keep a copy of it in every compio `block_on` wrapper frame, + // overflow the 2 MiB test thread stack. let rebuild = |created_revision: u64| { - let mut rebuilt = test_partition(); + let mut rebuilt = Box::new(test_partition()); rebuilt.set_partition_dir(dir.to_string_lossy().into_owned()); rebuilt.set_created_revision(created_revision); rebuilt
