提交 d4c5f954 编写于 作者: S simonjoylet 提交者: ob-robot

use arena allocator for btree node

上级 8f24b95a
......@@ -39,7 +39,7 @@ using namespace oceanbase::share::schema;
ObBlockMetaTree::ObBlockMetaTree()
: is_inited_(false), fifo_allocator_(), tree_allocator_(fifo_allocator_), block_tree_(tree_allocator_)
: is_inited_(false), arena_(), tree_allocator_(arena_), block_tree_(tree_allocator_)
{
}
......@@ -62,8 +62,7 @@ int ObBlockMetaTree::init(const share::ObLSID &ls_id,
} else if (OB_UNLIKELY(!ls_id.is_valid() || !table_key.is_valid() || cluster_version <= 0)) {
ret = OB_INVALID_ARGUMENT;
LOG_WARN("invalid argument", K(ret), K(table_key));
} else if (OB_FAIL(fifo_allocator_.init(ObMallocAllocator::get_instance(), OB_MALLOC_MIDDLE_BLOCK_SIZE, mem_attr))) {
LOG_WARN("init fifo allocator failed", K(ret));
} else if (FALSE_IT(arena_.set_attr(mem_attr))) {
} else if (OB_FAIL(block_tree_.init())) {
LOG_WARN("init block tree failed", K(ret));
} else if (OB_FAIL(ObTabletDDLUtil::prepare_index_data_desc(ls_id,
......@@ -160,7 +159,8 @@ void ObBlockMetaTree::destroy()
block_tree_.destroy();
data_desc_.reset();
sorted_rowkeys_.reset();
fifo_allocator_.reset();
tree_allocator_.reset();
arena_.reset();
}
int ObBlockMetaTree::insert_macro_block(const ObDDLMacroHandle &macro_handle,
......
......@@ -98,7 +98,7 @@ private:
private:
bool is_inited_;
ObArray<ObDDLMacroHandle> macro_blocks_;
ObFIFOAllocator fifo_allocator_;
ObArenaAllocator arena_;
BtreeNodeAllocator tree_allocator_;
KeyBtree block_tree_;
blocksstable::ObDataStoreDesc data_desc_;
......
......@@ -132,9 +132,6 @@ void TestBlockMetaTree::prepare_schema()
TEST_F(TestBlockMetaTree, random_keybtree)
{
ObBlockMetaTree meta_tree;
ObArenaAllocator arena;
const ObMemAttr mem_attr(TEST_TENANT_ID, "DDL_KV");
ASSERT_OK(meta_tree.fifo_allocator_.init(&arena, OB_MALLOC_MIDDLE_BLOCK_SIZE, mem_attr));
LOG_INFO("wenqu debug: check size",
"sizeof(BtreeNode)", sizeof(keybtree::BtreeNode<blocksstable::ObDatumRowkeyWrapper, const blocksstable::ObDataMacroBlockMeta *>),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册