From: Igor Fedotov Date: Tue, 19 Mar 2019 18:23:31 +0000 (+0300) Subject: mimic: test/store_test: workaround for failing BlobReuseOnOverwrite UT X-Git-Tag: v13.2.6~18^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4999f38e3bcfa691cae13890482fa9503af43394;p=ceph.git mimic: test/store_test: workaround for failing BlobReuseOnOverwrite UT Workarounds: https://tracker.ceph.com/issues/38795 Nautilus+ releases doesn't have the issue which is probably related to modifications of BlueStore::MempoolThread::_trim_shards which introduces different calculation for meta|data_alloc parameters Signed-off-by: Igor Fedotov --- diff --git a/src/test/objectstore/store_test.cc b/src/test/objectstore/store_test.cc index d1e7c4f838b..c0341311c39 100644 --- a/src/test/objectstore/store_test.cc +++ b/src/test/objectstore/store_test.cc @@ -5947,10 +5947,20 @@ TEST_P(StoreTestSpecificAUSize, BlobReuseOnOverwrite) { return; size_t block_size = 4096; - StartDeferred(block_size); + SetVal(g_conf, "bluestore_max_blob_size", "65536"); + // need to tune cache autotune interval as lack of cache balancing + // triggers excessive cache trimming after fsck + // See https://tracker.ceph.com/issues/38795 + SetVal(g_conf, "bluestore_cache_autotune_interval", "1"); g_conf->apply_changes(NULL); + StartDeferred(block_size); + + // wait 2xbluestore_cache_autotune_interval to make sure cache has been + // rebalanced + sleep(2); + int r; coll_t cid; ghobject_t hoid(hobject_t("test_hint", "", CEPH_NOSNAP, 0, -1, "")); @@ -6120,10 +6130,20 @@ TEST_P(StoreTestSpecificAUSize, BlobReuseOnOverwriteReverse) { return; size_t block_size = 4096; - StartDeferred(block_size); + SetVal(g_conf, "bluestore_max_blob_size", "65536"); + // need to tune cache autotune interval as lack of cache balancing + // triggers excessive cache trimming after fsck + // See https://tracker.ceph.com/issues/38795 + SetVal(g_conf, "bluestore_cache_autotune_interval", "1"); g_conf->apply_changes(NULL); + StartDeferred(block_size); + + // wait 2xbluestore_cache_autotune_interval to make sure cache has been + // rebalanced + sleep(2); + int r; coll_t cid; ghobject_t hoid(hobject_t("test_hint", "", CEPH_NOSNAP, 0, -1, "")); @@ -6301,10 +6321,19 @@ TEST_P(StoreTestSpecificAUSize, BlobReuseOnSmallOverwrite) { return; size_t block_size = 4096; - StartDeferred(block_size); SetVal(g_conf, "bluestore_max_blob_size", "65536"); + // need to tune cache autotune interval as lack of cache balancing + // triggers excessive cache trimming after fsck + // See https://tracker.ceph.com/issues/38795 + SetVal(g_conf, "bluestore_cache_autotune_interval", "1"); g_conf->apply_changes(NULL); + StartDeferred(block_size); + + // wait 2xbluestore_cache_autotune_interval to make sure cache has been + // rebalanced + sleep(2); + int r; coll_t cid; ghobject_t hoid(hobject_t("test_hint", "", CEPH_NOSNAP, 0, -1, ""));