Change the block_size_ of Macro meta's column_checksums(SEArray) from 8K to sizeof(int64_t) to save memory.
This commit is contained in:
@ -826,7 +826,10 @@ int ObMacroBlock::get_macro_block_meta(ObDataMacroBlockMeta ¯o_meta)
|
||||
macro_meta.val_.row_store_type_ = spec_->row_store_type_;
|
||||
macro_meta.val_.schema_version_ = spec_->schema_version_;
|
||||
macro_meta.val_.snapshot_version_ = spec_->snapshot_version_;
|
||||
if (OB_NOT_NULL(macro_header_.column_checksum_)) {
|
||||
if (OB_ISNULL(macro_header_.column_checksum_)) {
|
||||
} else if (OB_FAIL(macro_meta.val_.column_checksums_.reserve(macro_meta.val_.column_count_))) {
|
||||
STORAGE_LOG(WARN, "fail to reserve checksum array", K(ret), K(macro_meta));
|
||||
} else {
|
||||
for (int64_t i = 0; OB_SUCC(ret) && i < macro_meta.val_.column_count_; ++i) {
|
||||
if (OB_FAIL(macro_meta.val_.column_checksums_.push_back(macro_header_.column_checksum_[i]))) {
|
||||
STORAGE_LOG(WARN, "fail to push column checksum", K(ret), K(macro_meta));
|
||||
|
||||
@ -48,7 +48,7 @@ ObDataBlockMetaVal::ObDataBlockMetaVal()
|
||||
snapshot_version_(0),
|
||||
logic_id_(),
|
||||
macro_id_(),
|
||||
column_checksums_(common::OB_MALLOC_NORMAL_BLOCK_SIZE, ModulePageAllocator("MacroMetaChksum", MTL_ID())),
|
||||
column_checksums_(sizeof(int64_t), ModulePageAllocator("MacroMetaChksum", MTL_ID())),
|
||||
has_string_out_row_(false),
|
||||
all_lob_in_row_(false)
|
||||
{
|
||||
@ -84,7 +84,7 @@ ObDataBlockMetaVal::ObDataBlockMetaVal(ObIAllocator &allocator)
|
||||
snapshot_version_(0),
|
||||
logic_id_(),
|
||||
macro_id_(),
|
||||
column_checksums_(common::OB_MALLOC_NORMAL_BLOCK_SIZE, ModulePageAllocator(allocator, "MacroMetaChksum")),
|
||||
column_checksums_(sizeof(int64_t), ModulePageAllocator(allocator, "MacroMetaChksum")),
|
||||
has_string_out_row_(false),
|
||||
all_lob_in_row_(false)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user