tmp file flush mgr ignores any error code from iterator

This commit is contained in:
wanyue-wy 2024-10-30 11:44:23 +00:00 committed by ob-robot
parent 02c4c0e219
commit bacde7e6b6
2 changed files with 5 additions and 1 deletions

View File

@ -277,12 +277,13 @@ int ObTmpFileFlushListIterator::cache_files_(const FlushCtxState iter_stage)
}
if (OB_FAIL(ret)) {
cached_file_num_ = 0; // to guarantee that the iterator must not reinsert cached part files into priority list
int tmp_ret = OB_SUCCESS;
for (int64_t i = 0; OB_LIKELY(OB_SUCCESS == tmp_ret) && i < file_handles.count(); ++i) {
if (OB_ISNULL(file_handles[i].get())) {
// could not happen, just skip
} else if (OB_TMP_FAIL(file_handles[i].get()->reinsert_flush_node(cur_caching_list_is_meta_))) {
LOG_WARN("fail to reinsert flush node", KR(tmp_ret), K(i), K(file_handles[i]));
LOG_ERROR("fail to reinsert flush node", KR(tmp_ret), K(i), K(file_handles[i]));
}
}
}

View File

@ -452,6 +452,9 @@ int ObTmpFileFlushManager::inner_fill_block_buf_(
if (OB_ITER_END != ret) {
STORAGE_LOG(WARN, "fail to get file from iterator",
KR(ret), K(flush_stage), K(is_meta), K(flush_tail), K(flush_ctx_));
// it is no need to process the error code of iterator. it will handle with problem by itself.
// just using OB_ITER_END to finish this flushing loop is enough
ret = OB_ITER_END;
}
} else if (OB_ISNULL(file_handle.get())) {
ret = OB_ERR_UNEXPECTED;