disable small sstable for column store
This commit is contained in:
@ -519,7 +519,7 @@ int ObSSTableIndexBuilder::init(const ObDataStoreDesc &data_desc,
|
|||||||
} else {
|
} else {
|
||||||
index_store_desc_.get_desc().sstable_index_builder_ = this;
|
index_store_desc_.get_desc().sstable_index_builder_ = this;
|
||||||
callback_ = callback;
|
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()))) {
|
if (OB_FAIL(leaf_store_desc_.shallow_copy(index_store_desc_.get_desc()))) {
|
||||||
STORAGE_LOG(WARN, "fail to assign leaf store desc", K(ret));
|
STORAGE_LOG(WARN, "fail to assign leaf store desc", K(ret));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -220,7 +220,7 @@ int ObSSTableBuilder::open_macro_writer()
|
|||||||
return ret;
|
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;
|
int ret = OB_SUCCESS;
|
||||||
need_check_rebuild = true;
|
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) {
|
if (data_version < DATA_VERSION_4_3_0_0) {
|
||||||
need_check_rebuild = false;
|
need_check_rebuild = false;
|
||||||
} else if (data_version >= DATA_VERSION_4_3_2_0) {
|
} 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;
|
need_check_rebuild = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -251,7 +251,7 @@ int ObSSTableBuilder::check_need_rebuild(const ObStaticMergeParam &merge_param,
|
|||||||
bool last_macro_is_first = false;
|
bool last_macro_is_first = false;
|
||||||
bool need_check_rebuild = true;
|
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));
|
STORAGE_LOG(WARN, "Fail to pre check need rebuild", K(ret));
|
||||||
} else if (need_check_rebuild) {
|
} else if (need_check_rebuild) {
|
||||||
while (OB_SUCC(ret) && OB_SUCC(iter.get_next_macro_block(macro_meta))) {
|
while (OB_SUCC(ret) && OB_SUCC(iter.get_next_macro_block(macro_meta))) {
|
||||||
|
|||||||
@ -105,7 +105,7 @@ private:
|
|||||||
ObIArray<blocksstable::MacroBlockId> ¯o_id_array,
|
ObIArray<blocksstable::MacroBlockId> ¯o_id_array,
|
||||||
MetaIter &iter,
|
MetaIter &iter,
|
||||||
int64_t &multiplexed_macro_block_count);
|
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 ¯o_meta) const
|
bool check_macro_block_could_merge(const blocksstable::ObDataMacroBlockMeta ¯o_meta) const
|
||||||
{
|
{
|
||||||
return data_store_desc_.get_desc().get_row_store_type() == macro_meta.val_.row_store_type_
|
return data_store_desc_.get_desc().get_row_store_type() == macro_meta.val_.row_store_type_
|
||||||
|
|||||||
Reference in New Issue
Block a user