This article introduces the commonly used data structures and meanings in MDL systems and discusses the acquisition mechanism and deadlock detection of MDL.
Great article! Additionally, I have a question to ask the author. Will all the paths for acquiring `mdl` converge to `acquire_lock`? If so, does it mean that I only need to obtain all the `mdl_key` and their corresponding durations within one thread (`thd`), in order to construct an `mdl_request` in another MySQL process and fully replicate the `mdl` information?