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

ddl memtable use allocator from ddl kv

上级 4116c8fb
......@@ -724,7 +724,7 @@ void TestIndexBlockDataPrepare::prepare_ddl_kv()
share::SCN ddl_start_scn;
ddl_start_scn.convert_from_ts(ObTimeUtility::current_time());
ASSERT_EQ(OB_SUCCESS, ddl_kv_.init(*tablet_handle.get_obj(), sstable_.get_key(), ddl_start_scn, DATA_CURRENT_VERSION));
ASSERT_EQ(OB_SUCCESS, ddl_kv_.init(allocator_, *tablet_handle.get_obj(), sstable_.get_key(), ddl_start_scn, DATA_CURRENT_VERSION));
SMART_VAR(ObSSTableSecMetaIterator, meta_iter) {
ObDatumRange query_range;
......@@ -1223,7 +1223,7 @@ void TestIndexBlockDataPrepare::prepare_merge_ddl_kvs()
void *buf = allocator_.alloc(sizeof(ObDDLMemtable));
ASSERT_NE(nullptr, buf);
ObDDLMemtable *new_ddl_table = new (buf) ObDDLMemtable;
ASSERT_EQ(OB_SUCCESS, new_ddl_table->init(*tablet_handle.get_obj(), ddl_key, ddl_start_scn, 4000));
ASSERT_EQ(OB_SUCCESS, new_ddl_table->init(allocator_, *tablet_handle.get_obj(), ddl_key, ddl_start_scn, 4000));
ASSERT_EQ(OB_SUCCESS, ddl_kvs_.get_obj()->get_ddl_memtables().push_back(new_ddl_table));
}
ObDDLKVHandle kv_handle;
......
......@@ -805,7 +805,7 @@ int64_t ObBlockMetaTree::get_memory_used() const
/****************** ObDDLKV **********************/
ObDDLMemtable::ObDDLMemtable()
: is_inited_(false), allocator_("ddl_mem_sst", OB_MALLOC_NORMAL_BLOCK_SIZE, MTL_ID()), block_meta_tree_()
: is_inited_(false), block_meta_tree_()
{
}
......@@ -816,6 +816,7 @@ ObDDLMemtable::~ObDDLMemtable()
}
int ObDDLMemtable::init(
ObArenaAllocator &allocator,
ObTablet &tablet,
const ObITable::TableKey &table_key,
const share::SCN &ddl_start_scn,
......@@ -841,7 +842,7 @@ int ObDDLMemtable::init(
LOG_WARN("init mem index sstable failed", K(ret), K(table_key), K(ddl_start_scn));
} else if (OB_FAIL(init_sstable_param(tablet, table_key, ddl_start_scn, sstable_param))) {
LOG_WARN("init sstable param failed", K(ret));
} else if (OB_FAIL(ObSSTable::init(sstable_param, &allocator_))) {
} else if (OB_FAIL(ObSSTable::init(sstable_param, &allocator))) {
LOG_WARN("init sstable failed", K(ret));
} else {
is_inited_ = true;
......@@ -856,7 +857,6 @@ void ObDDLMemtable::reset()
is_inited_ = false;
ObSSTable::reset();
block_meta_tree_.destroy();
allocator_.reset();
}
void ObDDLMemtable::set_scn_range(
......@@ -982,7 +982,7 @@ int ObDDLKV::create_ddl_memtable(ObTablet &tablet, const ObITable::TableKey &tab
LOG_WARN("allocate memory failed", K(ret), K(sizeof(ObDDLMemtable)));
} else {
ddl_memtable = new (buf) ObDDLMemtable;
if (OB_FAIL(ddl_memtable->init(tablet, table_key, ddl_start_scn_, data_format_version_))) {
if (OB_FAIL(ddl_memtable->init(arena_allocator_, tablet, table_key, ddl_start_scn_, data_format_version_))) {
LOG_WARN("init ddl memtable failed", K(ret), K(table_key));
} else if (OB_FAIL(ddl_memtables_.push_back(ddl_memtable))) {
LOG_WARN("push back ddl memtable failed", K(ret));
......
......@@ -168,6 +168,7 @@ public:
ObDDLMemtable();
virtual ~ObDDLMemtable();
int init(
ObArenaAllocator &allocator,
ObTablet &tablet,
const ObITable::TableKey &table_key,
const share::SCN &ddl_start_scn,
......@@ -194,7 +195,6 @@ private:
ObTabletCreateSSTableParam &sstable_param);
private:
bool is_inited_;
ObArenaAllocator allocator_;
ObBlockMetaTree block_meta_tree_;
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册