From e736552756c17de38f47dc65f7f5ee76bee1a696 Mon Sep 17 00:00:00 2001 From: Chanyoung Park Date: Mon, 28 Jul 2025 15:37:43 +0000 Subject: [PATCH] test/crimson/seastore/test_omap_manager: add a UT to reproduce issue 72270 Signed-off-by: Chanyoung Park --- .../crimson/seastore/test_omap_manager.cc | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/test/crimson/seastore/test_omap_manager.cc b/src/test/crimson/seastore/test_omap_manager.cc index 6f836f8d0f3c0..d82ac2ddf8057 100644 --- a/src/test/crimson/seastore/test_omap_manager.cc +++ b/src/test/crimson/seastore/test_omap_manager.cc @@ -837,6 +837,28 @@ TEST_P(omap_manager_test_t, full_range_list) }); } +TEST_P(omap_manager_test_t, long_key_stress_test) +{ + // reproduces https://tracker.ceph.com/issues/72270 + run_async([this] { + omap_root_t omap_root = initialize(); + + size_t target_size = 10 * 1000; // 10MB + while (test_omap_mappings.size() < target_size) { + auto t = create_mutate_transaction(); + for (unsigned i = 0; i < 64; i++) { + auto key = rand_name(1000); + set_key(omap_root, *t, key, rand_buffer(1)); + key = rand_name(1000); + set_key(omap_root, *t, key, rand_buffer(1)); + rm_key(omap_root, *t, test_omap_mappings.begin()->first); + } + submit_transaction(std::move(t)); + } + check_mappings(omap_root); + }); +} + TEST_P(omap_manager_test_t, increasing_key_size) { // reproduces https://tracker.ceph.com/issues/72303 -- 2.39.5