Should we require background migrations be finalized?
Why?
We've had a number of issues in the past around unfinalized background migrations where folks later added code dependent on those migrations without ensuring they were complete. I'm wondering if we want some sort of process to ensure that background migrations that need to be depended on get finalized.
Past Incidents:
-
15.6
had code changes which was dependent on RemoveBackfilledJobArtifactsExpireAt. -
14.10
introduced BackfillNamespaceIdForProjectRoute BBM which was dependent on BackfillProjectNamespaces from14.9
. -
14.5
foregrounded a long running batched background migration (from14.3
) ( #354211 (closed)). -
13.9
added an unique index (regular) migration which was dependent on a background migration (introduced in 13.8).
Deliverable
-
Consensus is gathered if this is a problem we can/should try to solve -
An epic is filed detailing a possible solution for scheduling
Edited by Prabakaran Murugesan