diff --git a/src/storage/compaction/ob_partition_merge_policy.cpp b/src/storage/compaction/ob_partition_merge_policy.cpp index 8639aa7f5b..79b1cbaf51 100644 --- a/src/storage/compaction/ob_partition_merge_policy.cpp +++ b/src/storage/compaction/ob_partition_merge_policy.cpp @@ -638,12 +638,14 @@ int ObPartitionMergePolicy::check_need_mini_minor_merge( const ObTabletTableStore &table_store = tablet.get_table_store(); const ObTabletID &tablet_id = tablet.get_tablet_meta().tablet_id_; int64_t delay_merge_schedule_interval = 0; - omt::ObTenantConfigGuard tenant_config(TENANT_CONF(MTL_ID())); ObTablesHandleArray minor_tables; - if (tenant_config.is_valid()) { - mini_minor_threshold = tenant_config->minor_compact_trigger; - delay_merge_schedule_interval = tenant_config->_minor_compaction_interval; - } + { + omt::ObTenantConfigGuard tenant_config(TENANT_CONF(MTL_ID())); + if (tenant_config.is_valid()) { + mini_minor_threshold = tenant_config->minor_compact_trigger; + delay_merge_schedule_interval = tenant_config->_minor_compaction_interval; + } + } // end of ObTenantConfigGuard if (table_store.get_minor_sstables().count_ <= mini_minor_threshold) { // total number of mini sstable is less than threshold + 1 } else if (tablet.is_ls_tx_data_tablet()) { @@ -1074,13 +1076,15 @@ int ObPartitionMergePolicy::refine_mini_minor_merge_result(ObGetMergeTablesResul if (OB_SUCC(ret)) { int64_t minor_compact_trigger = DEFAULT_MINOR_COMPACT_TRIGGER; int64_t size_amplification_factor = OB_DEFAULT_COMPACTION_AMPLIFICATION_FACTOR; - omt::ObTenantConfigGuard tenant_config(TENANT_CONF(MTL_ID())); - if (tenant_config.is_valid()) { - minor_compact_trigger = tenant_config->minor_compact_trigger; - if (tenant_config->_minor_compaction_amplification_factor != 0) { - size_amplification_factor = tenant_config->_minor_compaction_amplification_factor; + { + omt::ObTenantConfigGuard tenant_config(TENANT_CONF(MTL_ID())); + if (tenant_config.is_valid()) { + minor_compact_trigger = tenant_config->minor_compact_trigger; + if (tenant_config->_minor_compaction_amplification_factor != 0) { + size_amplification_factor = tenant_config->_minor_compaction_amplification_factor; + } } - } + } // end of ObTenantConfigGuard if (1 == result.handle_.get_count()) { LOG_INFO("minor refine, only one sstable, no need to do mini minor merge", K(result)); result.handle_.reset(); diff --git a/src/storage/compaction/ob_partition_parallel_merge_ctx.cpp b/src/storage/compaction/ob_partition_parallel_merge_ctx.cpp index ac92986227..23ce1285fe 100644 --- a/src/storage/compaction/ob_partition_parallel_merge_ctx.cpp +++ b/src/storage/compaction/ob_partition_parallel_merge_ctx.cpp @@ -77,10 +77,12 @@ int ObParallelMergeCtx::init(compaction::ObTabletMergeCtx &merge_ctx) } else { int64_t tablet_size = merge_ctx.get_merge_schema()->get_tablet_size(); bool enable_parallel_minor_merge = false; - omt::ObTenantConfigGuard tenant_config(TENANT_CONF(MTL_ID())); - if (tenant_config.is_valid()) { - enable_parallel_minor_merge = tenant_config->_enable_parallel_minor_merge; - } + { + omt::ObTenantConfigGuard tenant_config(TENANT_CONF(MTL_ID())); + if (tenant_config.is_valid()) { + enable_parallel_minor_merge = tenant_config->_enable_parallel_minor_merge; + } + } // end of ObTenantConfigGuard if (enable_parallel_minor_merge && tablet_size > 0 && merge_ctx.param_.is_mini_merge()) { if (OB_FAIL(init_parallel_mini_merge(merge_ctx))) { STORAGE_LOG(WARN, "Failed to init parallel setting for mini merge", K(ret)); diff --git a/src/storage/compaction/ob_tenant_tablet_scheduler.cpp b/src/storage/compaction/ob_tenant_tablet_scheduler.cpp index 306bdadba9..41ff814137 100644 --- a/src/storage/compaction/ob_tenant_tablet_scheduler.cpp +++ b/src/storage/compaction/ob_tenant_tablet_scheduler.cpp @@ -178,11 +178,13 @@ int ObTenantTabletScheduler::init() { int ret = OB_SUCCESS; int64_t schedule_interval = DEFAULT_COMPACTION_SCHEDULE_INTERVAL; - omt::ObTenantConfigGuard tenant_config(TENANT_CONF(MTL_ID())); - if (tenant_config.is_valid()) { - schedule_interval = tenant_config->ob_compaction_schedule_interval; - fast_freeze_checker_.reload_config(tenant_config->_ob_enable_fast_freeze); - } + { + omt::ObTenantConfigGuard tenant_config(TENANT_CONF(MTL_ID())); + if (tenant_config.is_valid()) { + schedule_interval = tenant_config->ob_compaction_schedule_interval; + fast_freeze_checker_.reload_config(tenant_config->_ob_enable_fast_freeze); + } + } // end of ObTenantConfigGuard if (IS_INIT) { ret = OB_INIT_TWICE; LOG_WARN("ObTenantTabletScheduler has inited", K(ret)); @@ -232,11 +234,13 @@ int ObTenantTabletScheduler::reload_tenant_config() { int ret = OB_SUCCESS; int64_t merge_schedule_interval = DEFAULT_COMPACTION_SCHEDULE_INTERVAL; - omt::ObTenantConfigGuard tenant_config(TENANT_CONF(MTL_ID())); - if (tenant_config.is_valid()) { - merge_schedule_interval = tenant_config->ob_compaction_schedule_interval; - fast_freeze_checker_.reload_config(tenant_config->_ob_enable_fast_freeze); - } + { + omt::ObTenantConfigGuard tenant_config(TENANT_CONF(MTL_ID())); + if (tenant_config.is_valid()) { + merge_schedule_interval = tenant_config->ob_compaction_schedule_interval; + fast_freeze_checker_.reload_config(tenant_config->_ob_enable_fast_freeze); + } + } // end of ObTenantConfigGuard if (IS_NOT_INIT) { ret = OB_NOT_INIT; LOG_WARN("The ObTenantTabletScheduler has not been inited", K(ret));