return;
}
}
+
+ uint64_t get_omap_tree_depth() {
+ return stats.omap_tree_depth;
+ }
private:
ExtentPlacementManager& epm;
RootBlockRef root; ///< ref to current root
});
}
+TEST_F(omap_manager_test_t, force_inner_node_split_list)
+{
+ run_async([this] {
+ omap_root_t omap_root = initialize();
+
+ string temp = "";
+ while (cache->get_omap_tree_depth() < 3) {
+ for (unsigned i = 0; i < 40; i++) {
+ auto t = create_mutate_transaction();
+ logger().debug("opened transaction");
+ for (unsigned j = 0; j < 10; ++j) {
+ auto key = set_random_key(omap_root, *t);
+ if (key.compare(temp) < 0 || !temp.length())
+ temp = key;
+ }
+ logger().debug("force split submit transaction i = {}", i);
+ submit_transaction(std::move(t));
+ }
+ }
+
+ {
+ auto t = create_read_transaction();
+ list(omap_root, *t, temp, 10240);
+ }
+
+ {
+ auto t = create_mutate_transaction();
+ clear(omap_root, *t);
+ submit_transaction(std::move(t));
+ }
+ });
+}
+
+
TEST_F(omap_manager_test_t, internal_force_split)
{
run_async([this] {