Incident Library
Applied filters ComponentSchema migrationOrganisationCrowdWorksClear allEvery case under the filters, with no sentence; newest first.
Suggested filters Search, and the values found in your words appear here.

Graph

  • Root cause
  • Component
  • Symptom
  • Contributing factor
  • Case

Cases1 case

1 to 1 of 1

  1. Symptoms

    Right after a deploy ran a migration with drop_table to remove a table that was no longer used, database queries started to pile up and crowdworks.jp was hard to reach for about a minute. The migration finally failed on a timeout and the service recovered on its own.

    Trigger

    An engineer's deploy ran a migration that used drop_table to delete a table no longer in use.

    Root cause
    Component
    Contributing factor
    –
    Action items
    • In migrations that may take an exclusive MDL on a high-traffic table, through DDL on the table, adding or removing a foreign key to it, or creating or dropping a table with such a foreign key, run SET SESSION lock_wait_timeout = 3 first
    • Write these migrations with def up and def down instead of def change, setting the timeout before the DDL in both
    • Put only one such DDL in each migration
    • Release migrations that contain such DDL on their own
    • Run them during low-traffic hours
    • Document the rules in db/migrate/README.md
    • Point AGENTS.md at that README so Copilot and other AI agents review migrations against it
    • Add the check to the automatic comment posted on pull requests that change db/migrate
Check your cluster for this

This case involves Database and Schema migration. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.

By root cause1