fix tmp file flush the same meta pages multiple times

This commit is contained in:
dongb0 2024-10-25 06:43:44 +00:00 committed by ob-robot
parent 45667e8c2d
commit d266ea7a7a
2 changed files with 2 additions and 4 deletions

View File

@ -2830,9 +2830,8 @@ int ObSharedNothingTmpFile::insert_meta_tree_item(const ObTmpFileFlushInfo &info
}
}
// reinsert meta flush node during flushing to allow meta pages to be flushed if
// insert_meta_tree_item need tp allocate new meta pages
if (!is_deleting_ && OB_ISNULL(meta_flush_node_.get_next())) {
// reinsert meta flush node to allow meta pages to be flushed multiple times in one round of flushing
if (!is_deleting_ && inner_flush_ctx_.is_meta_finished() && OB_ISNULL(meta_flush_node_.get_next())) {
if (OB_TMP_FAIL(reinsert_flush_node_(true/*is_meta*/))) {
LOG_WARN("fail to reinsert flush node", KR(ret), K(fd_), K(info), K(block_index), KPC(this));
}

View File

@ -510,7 +510,6 @@ int ObTmpFileFlushTG::retry_task_()
push_retry_list_(flush_task);
if (FlushState::TFFT_INSERT_META_TREE == state && OB_ALLOCATE_TMP_FILE_PAGE_FAILED == ret) {
STORAGE_LOG(WARN, "fail to retry insert meta item in TFFT_INSERT_META_TREE", KPC(flush_task));
is_fast_flush_meta_ = true;
if (OB_FAIL(special_flush_meta_tree_page_())) {
STORAGE_LOG(WARN, "fail to flush meta tree page", KR(ret));
}