From 3abb11ec9585584309bcb68014036953bd445072 Mon Sep 17 00:00:00 2001 From: obdev Date: Tue, 25 Oct 2022 17:52:16 +0800 Subject: [PATCH] fix coredump --- src/share/backup/ob_archive_store.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/share/backup/ob_archive_store.cpp b/src/share/backup/ob_archive_store.cpp index 1a924d0ae..26b0250e4 100644 --- a/src/share/backup/ob_archive_store.cpp +++ b/src/share/backup/ob_archive_store.cpp @@ -1272,12 +1272,17 @@ int ObArchiveStore::get_piece_paths_in_range(const int64_t start_scn, const int6 } } - if (OB_SUCC(ret)) { + if (OB_FAIL(ret)) { + } else if (-1 == last_piece_idx) { + ret = OB_ENTRY_NOT_EXIST; + LOG_WARN("no enough log for restore", K(ret), K(last_piece_idx), K(end_scn)); + LOG_USER_ERROR(OB_ENTRY_NOT_EXIST, "No enough log for restore"); + } else { const ObTenantArchivePieceAttr &last_piece = piece_whole_info.his_frozen_pieces_.at(last_piece_idx); if (last_piece.checkpoint_scn_ < end_scn) { - ret = OB_ENTRY_EXIST; + ret = OB_ENTRY_NOT_EXIST; LOG_WARN("no enough log for restore", K(ret), K(last_piece), K(end_scn)); - LOG_USER_ERROR(OB_ENTRY_EXIST, "No enough log for restore"); + LOG_USER_ERROR(OB_ENTRY_NOT_EXIST, "No enough log for restore"); } } }