[CP][BUGFIX] fix refresh memdata not revert iter when error

This commit is contained in:
skylhd 2024-10-12 04:22:57 +00:00 committed by ob-robot
parent 4a28b771d0
commit c7888f7967

View File

@ -588,14 +588,6 @@ int ObPluginVectorIndexUtils::refresh_memdata(ObLSID &ls_id,
LOG_WARN("fail to check_delta_buffer_table_readnext_status.", K(ret));
}
if (OB_NOT_NULL(delta_buf_iter) && OB_NOT_NULL(tsc_service)) {
int tmp_ret = tsc_service->revert_scan_iter(delta_buf_iter);
if (tmp_ret != OB_SUCCESS) {
LOG_WARN("revert delta_buf_iter failed", K(tmp_ret));
}
delta_buf_iter = nullptr;
}
if (OB_FAIL(ret)) {
} else if (OB_FAIL(try_sync_vbitmap_memdata(ls_id, adapter, target_scn, allocator, ada_ctx))) {
LOG_WARN("failed to sync vbitmap", KR(ret));
@ -611,8 +603,13 @@ int ObPluginVectorIndexUtils::refresh_memdata(ObLSID &ls_id,
}
}
}
if (OB_NOT_NULL(delta_buf_iter) && OB_NOT_NULL(tsc_service)) {
int tmp_ret = tsc_service->revert_scan_iter(delta_buf_iter);
if (tmp_ret != OB_SUCCESS) {
LOG_WARN("revert delta_buf_iter failed", K(tmp_ret));
}
delta_buf_iter = nullptr;
}
}
}
return ret;