From c4a5368bb9a36b64796a3bf1ac632876a07634ef Mon Sep 17 00:00:00 2001 From: joonmin83 Date: Thu, 5 Dec 2024 19:34:47 +0900 Subject: [PATCH] [CBRD-25645] [bug-fix] Assert when restarting server after committing some XA transactions --- src/transaction/lock_manager.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/transaction/lock_manager.c b/src/transaction/lock_manager.c index d16ea382d4f..b8a80a95f19 100644 --- a/src/transaction/lock_manager.c +++ b/src/transaction/lock_manager.c @@ -8272,8 +8272,10 @@ lock_reacquire_crash_locks (THREAD_ENTRY * thread_p, LK_ACQUIRED_LOCKS * acqlock * lock wait duration : LK_INFINITE_WAIT * conditional lock request : false */ - r = lock_internal_perform_lock_object (thread_p, tran_index, &acqlocks->obj[i].oid, &acqlocks->obj[i].class_oid, - acqlocks->obj[i].lock, LK_INFINITE_WAIT, &dummy_ptr, NULL); + r = + lock_internal_perform_lock_object (thread_p, tran_index, &acqlocks->obj[i].oid, + OID_IS_ROOTOID (&acqlocks->obj[i].oid) ? NULL : &acqlocks->obj[i].class_oid, + acqlocks->obj[i].lock, LK_INFINITE_WAIT, &dummy_ptr, NULL); if (r != LK_GRANTED) { er_log_debug (ARG_FILE_LINE, "lk_reacquire_crash_locks: The lock cannot be reacquired...");