Overview of the Issue
When VDiff initializes a consistent snapshot for table comparison, it issues a LOCK TABLES <table> READ statement. This statement acquires a metadata lock (MDL) on the table. If another session holds a conflicting metadata lock, this statement can block indefinitely.
Reproduction Steps
- Set up a
MoveTables workflow and let it reach a running/caught-up state.
- On the source tablet, open a transaction that touches the table being diffed and leave it open
- Start a VDiff
- The VDiff enters "initialization" and never progresses.
Binary Version
Operating System and Environment details
Log Fragments
Overview of the Issue
When VDiff initializes a consistent snapshot for table comparison, it issues a
LOCK TABLES <table> READstatement. This statement acquires a metadata lock (MDL) on the table. If another session holds a conflicting metadata lock, this statement can block indefinitely.Reproduction Steps
MoveTablesworkflow and let it reach a running/caught-up state.Binary Version
Operating System and Environment details
Log Fragments