ddl memtable use allocator from ddl kv
This commit is contained in:
parent
4116c8fb03
commit
5f02c08d77
@ -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_;
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user