Commit 5515d272 authored by marko's avatar marko

lock_deadlock_recursive(): When aborting the search, display a note

regardless of start->undo_no.  Otherwise, aborted searches may show
up as genuine deadlocks.  This mistake was made in r1330.
parent 571aebe9
...@@ -3348,6 +3348,15 @@ lock_deadlock_recursive( ...@@ -3348,6 +3348,15 @@ lock_deadlock_recursive(
stderr); stderr);
} }
#endif /* UNIV_DEBUG */ #endif /* UNIV_DEBUG */
if (too_far) {
fputs("TOO DEEP OR LONG SEARCH"
" IN THE LOCK TABLE"
" WAITS-FOR GRAPH\n", ef);
return(LOCK_VICTIM_IS_START);
}
if (ut_dulint_cmp(wait_lock->trx->undo_no, if (ut_dulint_cmp(wait_lock->trx->undo_no,
start->undo_no) >= 0) { start->undo_no) >= 0) {
/* Our recursion starting point /* Our recursion starting point
...@@ -3358,15 +3367,6 @@ lock_deadlock_recursive( ...@@ -3358,15 +3367,6 @@ lock_deadlock_recursive(
return(LOCK_VICTIM_IS_START); return(LOCK_VICTIM_IS_START);
} }
if (too_far) {
fputs("TOO DEEP OR LONG SEARCH"
" IN THE LOCK TABLE"
" WAITS-FOR GRAPH\n", ef);
return(LOCK_VICTIM_IS_START);
}
lock_deadlock_found = TRUE; lock_deadlock_found = TRUE;
/* Let us choose the transaction of wait_lock /* Let us choose the transaction of wait_lock
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment