doc/development/database/required_stops.md
This page describes which database changes require GitLab upgrade stops. If you're interested about a comprehensive list of causes, refer to causes of required stops.
Required stops will now consistently land on minor versions X.2, X.5, X.8 and X.11. This is to ensure predictable upgrade paths for users. Any changes to the database that require a stop can make use of these releases. The instructions below are used to add required upgrade stops.
If a migration takes a long time, it could cause a large number of customers to encounter timeouts during upgrades. The increased support volume may cause us to introduce a required stop. While any background migration may cause these issues with particularly large customers, we typically only introduce stops when the impact is widespread.
You may need to introduce a required stop for mitigation when:
If a migration is removed, you may need to introduce a required stop to ensure customers don't miss the required change.
If a migration timestamp is very old (> 3 weeks, or after a before the last stop), these scenarios may cause issues:
In a few circumstances, bugs in migration related tooling has required us to introduce stops. While we aim to prevent these in testing, sometimes they happen.
If you plan to introduce a change the falls into one of the above scenarios, see adding required stops.