disable small sstable for column store

This commit is contained in:
chaser-ch
2024-07-11 05:36:32 +00:00
committed by ob-robot
parent 9760ffd780
commit 25aadaf06f
3 changed files with 5 additions and 5 deletions

View File

@ -519,7 +519,7 @@ int ObSSTableIndexBuilder::init(const ObDataStoreDesc &data_desc,
} else {
index_store_desc_.get_desc().sstable_index_builder_ = this;
callback_ = callback;
optimization_mode_ = mode;
optimization_mode_ = data_desc.is_cg() && data_desc.get_major_working_cluster_version() >= DATA_VERSION_4_3_2_0 ? DISABLE : mode;
if (OB_FAIL(leaf_store_desc_.shallow_copy(index_store_desc_.get_desc()))) {
STORAGE_LOG(WARN, "fail to assign leaf store desc", K(ret));
} else {

View File

@ -220,7 +220,7 @@ int ObSSTableBuilder::open_macro_writer()
return ret;
}
int ObSSTableBuilder::pre_check_rebuild(const ObStaticMergeParam &merge_param, bool &need_check_rebuild)
int ObSSTableBuilder::pre_check_rebuild(const ObStaticMergeParam &merge_param, MetaIter &iter, bool &need_check_rebuild)
{
int ret = OB_SUCCESS;
need_check_rebuild = true;
@ -228,7 +228,7 @@ int ObSSTableBuilder::pre_check_rebuild(const ObStaticMergeParam &merge_param, b
if (data_version < DATA_VERSION_4_3_0_0) {
need_check_rebuild = false;
} else if (data_version >= DATA_VERSION_4_3_2_0) {
if (merge_param.concurrent_cnt_ <= 1) {
if (merge_param.concurrent_cnt_ <= 1 || iter.get_macro_block_count() <= 1) {
need_check_rebuild = false;
}
}
@ -251,7 +251,7 @@ int ObSSTableBuilder::check_need_rebuild(const ObStaticMergeParam &merge_param,
bool last_macro_is_first = false;
bool need_check_rebuild = true;
if (OB_FAIL(pre_check_rebuild(merge_param, need_check_rebuild))) {
if (OB_FAIL(pre_check_rebuild(merge_param, iter, need_check_rebuild))) {
STORAGE_LOG(WARN, "Fail to pre check need rebuild", K(ret));
} else if (need_check_rebuild) {
while (OB_SUCC(ret) && OB_SUCC(iter.get_next_macro_block(macro_meta))) {

View File

@ -105,7 +105,7 @@ private:
ObIArray<blocksstable::MacroBlockId> &macro_id_array,
MetaIter &iter,
int64_t &multiplexed_macro_block_count);
int pre_check_rebuild(const ObStaticMergeParam &merge_param, bool &need_check_rebuild);
int pre_check_rebuild(const ObStaticMergeParam &merge_param, MetaIter &iter, bool &need_check_rebuild);
bool check_macro_block_could_merge(const blocksstable::ObDataMacroBlockMeta &macro_meta) const
{
return data_store_desc_.get_desc().get_row_store_type() == macro_meta.val_.row_store_type_