]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test/store_test: fix deferred writing test cases 55779/head
authorIgor Fedotov <igor.fedotov@croit.io>
Tue, 12 Dec 2023 13:01:11 +0000 (16:01 +0300)
committerIgor Fedotov <igor.fedotov@croit.io>
Tue, 27 Feb 2024 09:50:15 +0000 (12:50 +0300)
When bitmap allocator is in use different space fragmentation and
allocation strategy cause blob fragmentation. Which in turn impacts the
decision on deferred write applicability.

Fixing by using standalone DB volume to reduce main device space fragmentation.

Fixes: https://tracker.ceph.com/issues/63795
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
(cherry picked from commit fd3be76ecc2c6b1f436cda19ba961f8f45014b02)

src/test/objectstore/store_test.cc

index 54dc29c7db8d67d74bfd1ae8665fc33c4b9e4de9..9eef5ac21fb95b39c21dce46c3cc08c8551c7c61 100644 (file)
@@ -8177,6 +8177,8 @@ TEST_P(StoreTestSpecificAUSize, DeferredOnBigOverwrite2) {
   }
 
   size_t block_size = 4096;
+  SetVal(g_conf(), "bluestore_block_db_create", "true");
+  SetVal(g_conf(), "bluestore_block_db_size", stringify(1 << 30).c_str());
   StartDeferred(block_size);
   SetVal(g_conf(), "bluestore_max_blob_size", "65536");
   SetVal(g_conf(), "bluestore_prefer_deferred_size", "65536");
@@ -8253,6 +8255,8 @@ TEST_P(StoreTestSpecificAUSize, DeferredOnBigOverwrite3) {
   }
 
   size_t block_size = 4096;
+  SetVal(g_conf(), "bluestore_block_db_create", "true");
+  SetVal(g_conf(), "bluestore_block_db_size", stringify(1 << 30).c_str());
   StartDeferred(block_size);
   SetVal(g_conf(), "bluestore_max_blob_size", "65536");
   SetVal(g_conf(), "bluestore_prefer_deferred_size", "65536");
@@ -8331,6 +8335,10 @@ TEST_P(StoreTestSpecificAUSize, DeferredDifferentChunks) {
   size_t alloc_size = 4096;
   size_t large_object_size = 1 * 1024 * 1024;
   size_t prefer_deferred_size = 65536;
+  SetVal(g_conf(), "bluestore_block_db_create", "true");
+  SetVal(g_conf(), "bluestore_block_db_size", stringify(1 << 30).c_str());
+
   StartDeferred(alloc_size);
   SetVal(g_conf(), "bluestore_max_blob_size", "131072");
   SetVal(g_conf(), "bluestore_prefer_deferred_size",