SkillVaultskills Browse all 500 skills

Debugging · Version 1.7.0 · Reviewed 2026-08-02

MySQL Lock Debugger

Diagnose deadlock analysis and gap-lock diagnosis with evidence, explicit trade-offs, and a verification plan.

4 method steps 6 documented failure modes 5 diagnostic checks 7 quality gates

Diagnoses InnoDB row, gap, metadata, and auto-increment locks using transaction history, isolation, indexes, and deadlock evidence.

₹99 one-time

Get this skill archive

What this skill helps you do

  • Deadlock analysis
  • Gap-lock diagnosis
  • Metadata-lock investigation

How MySQL Lock Debugger works

You provide

Schema, query plans, and the real access pattern

It inspects

Plan accuracy and lock behavior for deadlock analysis

It decides

A gap-lock diagnosis change weighed against write cost

You verify

Re-measured plan with buffer reads and timing compared

What it checks first

MySQL Lock Debugger diagnoses InnoDB row, gap, metadata, and auto-increment locks using transaction history, isolation, indexes, and deadlock evidence. Use it when the work involves Deadlock analysis, Gap-lock diagnosis, Metadata-lock investigation.

  1. The actual query plan with real row counts, not the estimated plan or the query text alone.
  2. Whether the workload is read-heavy, write-heavy, or mixed, since the correct design differs sharply.
  3. Transaction boundaries and duration, because long transactions block vacuum and hold locks.
  4. Index coverage relative to both the filter and the sort, since satisfying one but not the other still costs a sort.
  5. Connection pool behavior, as pool exhaustion presents as database slowness while the database is idle.

Failure modes it recognizes

  • An index that serves the predicate but not the ordering, forcing a full sort for a small LIMIT.
  • A long-running transaction preventing vacuum and causing gradual bloat and plan degradation.
  • Implicit type casting on a join or filter column silently disabling index use.
  • Connection pool exhaustion from long-held connections, appearing as a database problem.
  • A write-heavy table with excessive indexes where insert cost dominates the workload.
  • Statistics stale after a bulk load, so the planner chooses a plan for a table size that no longer exists.

Answers it will reject

  • Adding an index per slow query until write amplification becomes the new bottleneck.
  • Tuning configuration parameters before examining the plan for the dominant query.
  • Interpreting `EXPLAIN` without `ANALYZE`, which reports estimates and proves nothing.
  • Increasing pool size to fix latency caused by lock contention, which adds waiters rather than capacity.

Decision rules it applies

  • Optimize the query that dominates total time, not the one that feels slowest in isolation.
  • Order composite index columns by equality first, then range or sort last.
  • Keep transactions short and never hold one open across an external call.
  • Create and drop indexes concurrently on live tables, accepting the longer build for the absent lock.

Evidence it asks for

  • `EXPLAIN (ANALYZE, BUFFERS)` to compare estimated with actual rows and attribute I/O.
  • Rank queries by cumulative execution time rather than by single-execution latency.
  • Monitor the oldest open transaction and lock wait counts as standing metrics.

The method inside

  1. Reconstruct the symptom timeline and define what healthy behavior would look like for deadlock analysis.
  2. Rank hypotheses for gap-lock diagnosis by evidence, blast radius, and ability to explain every observed symptom.
  3. Run the cheapest discriminating check for metadata-lock investigation; update confidence only when evidence changes.
  4. Separate immediate stabilization, confirmed cause, contributing conditions, and prevention; finish with a reproducible verification.

Deliverables

  • Deadlock analysis assessment
  • Gap-lock diagnosis decision and action plan
  • Metadata-lock investigation verification checklist

Evidence requirements

  • Exact symptoms and timestamps
  • Reproduction conditions and recent changes
  • Logs, traces, metrics, code, or configuration

Quality gates

  • Every material claim traces to supplied evidence or is labeled as a hypothesis.
  • The response follows the declared deliverable contract.
  • No execution, access, measurement, or verification is invented.
  • Secrets and personal data are redacted rather than repeated.
  • The user receives a concrete independent verification step.
  • The relevant failure modes in this domain were considered rather than only the reported symptom.
  • No listed anti-pattern was recommended as a solution.

Example task

Input

A simple INSERT occasionally waits thirty seconds, but CPU and disk latency are normal.

Expected output

The insert is blocked by a gap lock from a long REPEATABLE READ range query without a selective index. Add the index or narrow isolation for that transaction; increasing connection timeout only hides contention...

Boundaries and compatibility

Ideal for

  • Deadlock analysis: produce a decision or artifact grounded in supplied evidence.
  • Gap-lock diagnosis: produce a decision or artifact grounded in supplied evidence.
  • Metadata-lock investigation: produce a decision or artifact grounded in supplied evidence.

Out of scope

  • Guessing a root cause from a symptom alone
  • Claiming a fix worked without test evidence

Agent compatibility

  • GitHub Copilot custom agents
  • Claude Agent Skills / SKILL.md
  • Any instruction-following chat model

Tool policy: Advisory by default. No tools are assumed. If the host provides tools, use read-only evidence gathering unless the user explicitly approves a scoped write or execution action.