fix observer get stuck due to ls_safte_destroy_handle not running when obsever fail to start

This commit is contained in:
windye 2023-09-21 10:10:15 +00:00 committed by ob-robot
parent 03d4c3e84b
commit cd903a45b4
3 changed files with 4 additions and 4 deletions

View File

@ -1304,12 +1304,13 @@ void ObGarbageCollector::run1()
(void)execute_gc_(gc_candidates);
seq_++;
}
// safe destroy task
(void) safe_destroy_handler_.handle();
} else {
CLOG_LOG(INFO, "Garbage Collector is not running, waiting for ObServerCheckpointSlogHandler",
K(seq_), K(gc_interval));
}
// safe destroy handler keep running even if ObServerCheckpointSlogHandler is not started,
// because ls still need to be safe destroy when observer fail to start.
(void) safe_destroy_handler_.handle();
ob_usleep(gc_interval);
}
}

View File

@ -2269,7 +2269,7 @@ void ObMultiTenant::run1()
}
ob_usleep(TIME_SLICE_PERIOD);
if (REACH_TIME_INTERVAL(30000000L)) { // every 30s
if (REACH_TIME_INTERVAL(10000000L)) { // every 10s
SpinRLockGuard guard(lock_);
for (TenantList::iterator it = tenants_.begin(); it != tenants_.end(); it++) {
if (!OB_ISNULL(*it)) {

View File

@ -416,7 +416,6 @@ int ObTenantCheckpointSlogHandler::replay_old_checkpoint(const ObTenantSuperBloc
int ObTenantCheckpointSlogHandler::replay_new_checkpoint(const ObTenantSuperBlock &super_block)
{
int ret = OB_SUCCESS;
ObTenantStorageCheckpointReader tenant_storage_ckpt_reader;
const MacroBlockId &ls_meta_entry = super_block.ls_meta_entry_;
ObLinkedMacroBlockItemReader ls_ckpt_reader;
ObSArray<MacroBlockId> tablet_block_list;