2022-03-24: High number of unhandled ActiveRecord::QueryCanceled in background migration
Incident DRI
- @mcelicalderon - author of the migration
- @msmiley @skarbek - responded to the created incident
Current Status
It was determined that even if we are getting some errors in the background migration jobs, they do not have a big impact on application performance. A patch to improve the migration will be shipped, but for environments where the migration was already run, there should be no impact. Failed jobs will be retried when all others are completed.
Summary for CMOC notice / Exec summary:
- Customer Impact: There was no customer impact.
- Service Impact: No real impact on the ~database. Simply a higher amount of failed background migrations.
- Impact Duration: No real impact on the application.
- Root cause: Background migration is capturing the wrong error on the retry mechanism as timeouts were expected in the issues table.
Timeline
Recent Events (available internally only):
-
Deployments
- gitlab-org/gitlab!71869 (merged) was deployed and started running this morning.
All times UTC.
2022-03-24
-
18:32- @marioceli declares incident in Slack. -
19:13- Dropped from the zoom call, no concerns on app performance, no immediate actions required.
Create related issues
Use the following links to create related issues to this incident if additional work needs to be completed after it is resolved:
- Support contact request
- Corrective action
- Investigation followup
- Confidential issue
- QA investigation
- Infradev
Takeaways
- ...
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.
- ...
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.
Click to expand or collapse the Incident Review section.
Incident Review
-
Ensure that the exec summary is completed at the top of the incident issue, the timeline is updated and relevant graphs are included in the summary -
If there are any corrective action items mentioned in the notes on the incident, ensure they are listed in the "Corrective Action" section -
Fill out relevant sections below or link to the meeting review notes that cover these topics
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, ...)
- ...
-
How many customers were affected?
- ...
-
If a precise customer impact number is unknown, what is the estimated impact (number and ratio of failed requests, amount of traffic drop, ...)?
- ...
What were the root causes?
Wrong error captured in a background migration that was supposed to provide a retry mechanism as timeouts were expected in the migration (gin indexes in the issues table)
- ...
Incident Response Analysis
-
How was the incident detected?
- Many failures detected while monitoring https://log.gprd.gitlab.net/goto/fa6a8830-aa3f-11ec-bd7b-c108343628c3
-
How could detection time be improved?
- Perhaps some kind of alert mechanism if we get too many failures in background migrations?
-
How was the root cause diagnosed?
- Looking at the backtrace of the errors in Kibana
- How could time to diagnosis be improved? 1.
-
How did we reach the point where we knew how to mitigate the impact?
- Monitoring production and making sure that the running migration jobs are not having a negative impact in the application's performance
- How could time to mitigation be improved? 1.
-
What went well?
- Quick response from devs on call
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.
- Running gitlab-org/gitlab!71869 (merged)
What went well?
- ...
Guidelines
Resources
- If the Situation Zoom room was utilised, recording will be automatically uploaded to Incident room Google Drive folder (private)