2021-06-11 Praefect migrations failing to run on gstg
Current Status
Praefect Database Migration is locked, preventing the migration from completing.
- MR in question: gitlab-org/gitaly!3565 (merged)
- Issue tracking fix: gitlab-org/gitaly#3658 (closed)
Timeline
View recent production deployment and configuration events (internal only)
All times UTC.
2021-06-11
-
12:26
- Deployer Database Migration job for package14.0.202106111120-38a41d59972.6ee5fc67e4e
begins -
17:26
- Migration job times out -
17:32
- Release Manager retries initially thinking the CI job itself got stuck -
17:41
- Release Manager determines Praefect migrations are root causation for the failure -
17:41
- @skarbek declares incident in Slack. -
18:37
- Database Migration that is locked is killed -
18:52
- Rollback of Staging begins
Corrective Actions
Corrective actions should be put here as soon as an incident is mitigated, ensure that all corrective actions mentioned in the notes below are included.
- Consider adding database statement timeouts to the Praefect Database
- Disable failover in staging: https://gitlab.com/gitlab-com/gl-infra/chef-repo/-/merge_requests/114
- Deployer should alert Delivery of a long running migration to catch potential issues sooner: delivery#1815
- We need Gitaly team members in the AMER timezone
Note: In some cases we need to redact information from public view. We only do this in a limited number of documented cases. This might include the summary, timeline or any other bits of information, laid out in out handbook page. Any of this confidential data will be in a linked issue, only visible internally. By default, all information we can share, will be public, in accordance to our transparency value.
Incident Review
Summary
- Service(s) affected: AutoDeploy
- Team attribution: groupgitaly
- Time to detection: 6 Hours
- Minutes downtime or degradation: 0
Metrics
n/a
Customer Impact
- Who was impacted by this incident? (i.e. external customers, internal customers)
-
What was the customer experience during the incident? (i.e. preventing them from doing X, incorrect display of Y, ...)
- Unable to Deploy
-
How many customers were affected?
- 0
-
If a precise customer impact number is unknown, what is the estimated impact (number and ratio of failed requests, amount of traffic drop, ...)?
- n/a
What were the root causes?
Incident Response Analysis
-
How was the incident detected?
- Deployer notification of failed deploy
- How could detection time be improved?
-
How was the root cause diagnosed?
- Observing the missing database migration from the Praefect Database
-
How could time to diagnosis be improved?
- Maybe?
-
How did we reach the point where we knew how to mitigate the impact?
- Collaboration with Database team members
-
How could time to mitigation be improved?
- ...
-
What went well?
- Collaboration with team members unfamiliar with the code were able to hop in and provide the necessary guidance on moving forward
Post Incident Analysis
-
Did we have other events in the past with the same root cause?
- No
-
Do we have existing backlog items that would've prevented or greatly reduced the impact of this incident?
- No
- Was this incident triggered by a change (deployment of code or change to infrastructure)? If yes, link the issue.
Lessons Learned
- ...
Guidelines
Resources
- If the Situation Zoom room was utilised, recording will be automatically uploaded to Incident room Google Drive folder (private)
Edited by Cameron McFarland