From 7f102a9f7b0a81c8365e73e7a818c9b2a8fcc2e4 Mon Sep 17 00:00:00 2001 From: joonmin83 Date: Fri, 22 Nov 2024 16:43:47 +0900 Subject: [PATCH] [CBRD-25640] [Regression] restoredb hang when it try to restore to the saved point. (#5631) http://jira.cubrid.org/browse/CBRD-25640 --- src/transaction/log_recovery.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/transaction/log_recovery.c b/src/transaction/log_recovery.c index f13fac480f..b0e249f643 100644 --- a/src/transaction/log_recovery.c +++ b/src/transaction/log_recovery.c @@ -2534,7 +2534,9 @@ log_is_page_of_record_broken (THREAD_ENTRY * thread_p, const LOG_LSA * log_lsa, /* TODO - Do we need to handle NULL fwd_log_lsa? */ if (!LSA_ISNULL (&fwd_log_lsa)) { - if (LSA_GE (log_lsa, &fwd_log_lsa) || LSA_GT (&fwd_log_lsa, &log_Gl.hdr.eof_lsa)) + /* log_Gl.hdr.eof_lsa can have a NULL_LSA value if recovery is started without an active log volume. Its value will be recovered during the log_recovery_analysis process. */ + if (LSA_GE (log_lsa, &fwd_log_lsa) + || (!LSA_ISNULL (&log_Gl.hdr.eof_lsa) && LSA_GT (&fwd_log_lsa, &log_Gl.hdr.eof_lsa))) { // check fwd_log_lsa value if it is corrupted or not is_log_page_broken = true;