[BUG.FIX] fix infinite loop in ObTmpTenantMemBlockManager::wait_write_finish()
This commit is contained in:
@ -1463,6 +1463,10 @@ int ObTmpTenantMemBlockManager::exec_wait()
|
|||||||
const int64_t free_page_nums = blk.get_free_page_nums();
|
const int64_t free_page_nums = blk.get_free_page_nums();
|
||||||
if (OB_FAIL(wait_info->exec_wait(io_timeout_ms))) {
|
if (OB_FAIL(wait_info->exec_wait(io_timeout_ms))) {
|
||||||
STORAGE_LOG(WARN, "fail to exec io handle wait", K(ret), K_(tenant_id), KPC(wait_info));
|
STORAGE_LOG(WARN, "fail to exec io handle wait", K(ret), K_(tenant_id), KPC(wait_info));
|
||||||
|
int tmp_ret = OB_SUCCESS;
|
||||||
|
if (OB_TMP_FAIL(blk.check_and_set_status(ObTmpMacroBlock::WASHING, ObTmpMacroBlock::MEMORY))) {
|
||||||
|
STORAGE_LOG(ERROR, "fail to rollback block status", K(ret), K(tmp_ret), K(block_id), K(blk));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
STORAGE_LOG(INFO, "start to wash a block", K(block_id), KPC(&blk));
|
STORAGE_LOG(INFO, "start to wash a block", K(block_id), KPC(&blk));
|
||||||
ObThreadCondGuard cond_guard(cond_);
|
ObThreadCondGuard cond_guard(cond_);
|
||||||
|
Reference in New Issue
Block a user