call enable_ls_to_read in another func
This commit is contained in:
@ -1486,7 +1486,7 @@ int ObLS::finish_slog_replay()
|
||||
} else if (OB_FAIL(load_ls_inner_tablet())) {
|
||||
LOG_WARN("ls load inner tablet failed", K(ret), KPC(this));
|
||||
} else {
|
||||
// do nothing
|
||||
ls_tablet_svr_.enable_to_read();
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@ -172,24 +172,22 @@ int ObServerCheckpointSlogHandler::try_write_checkpoint_for_compat()
|
||||
bool need_svr_ckpt = false;
|
||||
for (int64_t i = 0; OB_SUCC(ret) && i < tenant_metas.size(); ++i) {
|
||||
ObTenantSuperBlock &super_block = tenant_metas.at(i).super_block_;
|
||||
MTL_SWITCH(super_block.tenant_id_) {
|
||||
ObTenantCheckpointSlogHandler *tenant_ckpt_handler = MTL(ObTenantCheckpointSlogHandler*);
|
||||
if (!super_block.is_old_version()) {
|
||||
// nothing to do.
|
||||
} else if (OB_FAIL(tenant_ckpt_handler->write_checkpoint(true/*is_force*/))) {
|
||||
LOG_WARN("fail to write tenant slog checkpoint", K(ret));
|
||||
} else {
|
||||
// we don't write checkpoint or update super_block for hidden tenant
|
||||
// so it is necessary to update version here
|
||||
if (super_block.is_hidden_) {
|
||||
super_block.version_ = ObTenantSuperBlock::TENANT_SUPER_BLOCK_VERSION;
|
||||
omt::ObTenant *tenant = static_cast<omt::ObTenant*>(share::ObTenantEnv::get_tenant());
|
||||
tenant->set_tenant_super_block(super_block);
|
||||
if (!super_block.is_old_version()) {
|
||||
// nothing to do.
|
||||
} else {
|
||||
MTL_SWITCH(super_block.tenant_id_) {
|
||||
if (OB_FAIL(MTL(ObTenantCheckpointSlogHandler*)->write_checkpoint(true/*is_force*/))) {
|
||||
LOG_WARN("fail to write tenant slog checkpoint", K(ret));
|
||||
} else {
|
||||
// we don't write checkpoint or update super_block for hidden tenant
|
||||
// so it is necessary to update version here
|
||||
if (super_block.is_hidden_) {
|
||||
super_block.version_ = ObTenantSuperBlock::TENANT_SUPER_BLOCK_VERSION;
|
||||
omt::ObTenant *tenant = static_cast<omt::ObTenant*>(share::ObTenantEnv::get_tenant());
|
||||
tenant->set_tenant_super_block(super_block);
|
||||
}
|
||||
need_svr_ckpt = true;
|
||||
}
|
||||
need_svr_ckpt = true;
|
||||
}
|
||||
if (OB_SUCC(ret) && OB_FAIL(tenant_ckpt_handler->enable_ls_read())) {
|
||||
LOG_WARN("fail to enable ls to read", K(ret));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -837,33 +837,6 @@ int ObTenantCheckpointSlogHandler::replay_create_tablets_per_task(
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObTenantCheckpointSlogHandler::enable_ls_read()
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
common::ObSharedGuard<ObLSIterator> ls_iter;
|
||||
ObLS *ls = nullptr;
|
||||
|
||||
if (OB_FAIL(MTL(ObLSService *)->get_ls_iter(ls_iter, ObLSGetMod::STORAGE_MOD))) {
|
||||
LOG_WARN("fail to get log stream iter", K(ret));
|
||||
} else {
|
||||
while (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(ls_iter->get_next(ls))) {
|
||||
if (OB_ITER_END == ret) {
|
||||
ret = OB_SUCCESS;
|
||||
break;
|
||||
} else {
|
||||
LOG_WARN("fail to get next log stream", K(ret));
|
||||
}
|
||||
} else {
|
||||
ObLSLockGuard lock_ls(ls);
|
||||
ls->enable_to_read();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObTenantCheckpointSlogHandler::report_slog(
|
||||
const ObTabletMapKey &tablet_key,
|
||||
const ObMetaDiskAddr &slog_addr)
|
||||
|
@ -131,8 +131,6 @@ public:
|
||||
void stop();
|
||||
void wait();
|
||||
void destroy();
|
||||
|
||||
int enable_ls_read();
|
||||
int report_slog(const ObTabletMapKey &tablet_key, const ObMetaDiskAddr &slog_addr);
|
||||
int check_slog(const ObTabletMapKey &tablet_key, bool &has_slog);
|
||||
int read_tablet_checkpoint_by_addr(
|
||||
|
Reference in New Issue
Block a user