]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/store_test: extend Onode in-mem size estimation with cached data presence case.
authorIgor Fedotov <ifedotov@mirantis.com>
Thu, 12 Jan 2017 17:26:36 +0000 (17:26 +0000)
committerIgor Fedotov <ifedotov@mirantis.com>
Thu, 26 Jan 2017 23:37:44 +0000 (23:37 +0000)
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
src/test/objectstore/store_test.cc

index a998e5d9a71092d8c7355f0561ef62dc64ce08f1..201c3b1f4e402192fecee106e9573a07b2d7a5db 100644 (file)
@@ -5664,6 +5664,7 @@ TEST_P(StoreTest, OnodeSizeTracking) {
   g_conf->set_val("bluestore_compression_mode", "none");
   g_conf->set_val("bluestore_csum_type", "none");
   g_conf->set_val("bluestore_min_alloc_size", stringify(block_size));
+  g_ceph_context->_conf->set_val("bluestore_cache_size", "400000000");
   g_ceph_context->_conf->apply_changes(NULL);
   int r = store->umount();
   ASSERT_EQ(r, 0);
@@ -5720,7 +5721,25 @@ TEST_P(StoreTest, OnodeSizeTracking) {
     f.flush(cout);
     cout << std::endl;
   }
+  {
+    bufferlist bl;
+    for (size_t i = 0; i < obj_size; i += 0x1000) {
+      store->read(cid, hoid, i, 0x1000, bl);
+    }
+  }
+  get_mempool_stats(&total_bytes, &total_onodes);
+  ASSERT_NE(total_bytes, 0u);
+  ASSERT_EQ(total_onodes, 1u);
 
+  {
+    cout <<" mempool dump:\n";
+    JSONFormatter f(true);
+    f.open_object_section("transaction");
+    mempool::dump(&f);
+    f.close_section();
+    f.flush(cout);
+    cout << std::endl;
+  }
   {
     ObjectStore::Transaction t;
     t.remove(cid, hoid);
@@ -5729,6 +5748,7 @@ TEST_P(StoreTest, OnodeSizeTracking) {
     r = apply_transaction(store, &osr, std::move(t));
     ASSERT_EQ(r, 0);
   }
+  g_ceph_context->_conf->set_val("bluestore_cache_size", "4000000");
   g_conf->set_val("bluestore_min_alloc_size", stringify(block_size));
   g_conf->set_val("bluestore_compression_mode", "none");
   g_conf->set_val("bluestore_csum_type", "crc32c");