You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reimplement test for MDEV-28567 such that it behaves consistently and
consistently covers the code that it was intended to cover. The test
itself moved to mdl_sync.test, because lock_sync.test is supposed for
testing THR_LOCK, not MDL. Verified with DBUG_ASSERT(0) in
open_tables() (from 92bfc0e) restored.
The test is failing with various symptoms as it was designed to be
sporadic. It did cover the code that it was supposed to cover in
less than 0.1% of runs. That is the following command succeeds often
with DBUG_ASSERT(0) in open_tables() (from 92bfc0e) restored:
./mtr --repeat=25 --parallel=40 lock_sync{,,,,}{,,,,}
Test is also reimplemented such that it doesn't rely on buggy "MDL
overweight" behaviour as described in MDEV-36887. Previously it did
require preceding statements that fall in deadlock in default
connection. Now it works consistently in both cases: if there was
preceding deadlock and if there was none.
mdl_after_find_deadlock sync point added to avoid premature deadlock
handling by connections that don't intend to handle it. ALTER VIEW
connection is supposed to handle it, this makes test behaviour
consistent.
Tracking history:
92bfc0e MDEV-17554, assert added
f885116 MDEV-28567, test added, assertion modified
fe3adde MDEV-29060, test moved, fix attempted
8ee93b9 MDEV-29060, fix attempted
611d442 fix attempted
77c465d assertion modified
4c695c8 assertion removed
MDEV-29474 - subj
MDEV-36665 - duplicate of MDEV-29474
0 commit comments