From e60ef3923f8cabefe267ff24d7ba5cd9cbe1b90c Mon Sep 17 00:00:00 2001 From: obdev Date: Thu, 4 Jan 2024 04:12:56 +0000 Subject: [PATCH] Repair -4016 error that occur in start_scn invalid --- src/storage/high_availability/ob_finish_transfer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/storage/high_availability/ob_finish_transfer.cpp b/src/storage/high_availability/ob_finish_transfer.cpp index cfe9596b94..8cf48058d2 100644 --- a/src/storage/high_availability/ob_finish_transfer.cpp +++ b/src/storage/high_availability/ob_finish_transfer.cpp @@ -1057,8 +1057,8 @@ int ObTxFinishTransfer::record_server_event_( ObSqlString extra_info_str; const share::ObTransferStatus doing_status(ObTransferStatus::DOING); const share::ObTransferStatus finish_status(ObTransferStatus::COMPLETED); - const int64_t start_scn_ts = start_scn.convert_to_ts(); - const int64_t elapsed_us_from_start_scn = ObTimeUtility::current_time() - start_scn_ts; + const int64_t start_scn_ts = start_scn.is_valid() ? start_scn.convert_to_ts() : 0; + const int64_t elapsed_us_from_start_scn = start_scn.is_valid() ? ObTimeUtility::current_time() - start_scn_ts : 0; if (OB_SUCCESS == result) { if (is_ready) { if (OB_FAIL(extra_info_str.append_fmt("msg:\"transfer doing success\";"))) { @@ -1073,7 +1073,7 @@ int ObTxFinishTransfer::record_server_event_( if (OB_SUCC(ret)) { if (OB_FAIL(extra_info_str.append_fmt("round:%ld;", round))) { LOG_WARN("fail to printf retry time", K(ret)); - } else if (OB_FAIL(extra_info_str.append_fmt("elapsed_us_from_start_scn:%ld;", elapsed_us_from_start_scn))) { + } else if (elapsed_us_from_start_scn > 0 && OB_FAIL(extra_info_str.append_fmt("elapsed_us_from_start_scn:%ld;", elapsed_us_from_start_scn))) { LOG_WARN("fail to printf retry time", K(ret)); } else { if (OB_SUCCESS == result && is_ready) {