2022-03-15 The GitLab job clone resource zlonk.datalytics.dailyx has failed.
Incident DRI
Current Status
The incident was mitigated as of midnight March 15: the Data Team was able to connect and process data. The tool is now providing a 60 minute (from 20 minute) timeout for Postgres recovery (last night, it took 47 minutes).
We have some indications that WAL archiving may be the root causing for the sudden jump in recovery times: https://gitlab.com/gitlab-com/gl-infra/reliability/-/issues/15362
General notes
The general process is as follows:
- The database is checkpointed
- A snapshot is taken after the checkpoint is executed
- A clone from said snapshot is then generated
- A Postgres configuration is then used to start a separate Postgres instance, using the clone
- Postgres initiates recovery
- Once recovery is complete, the clone instance is ready to accept connections
- Some indexes are generated against the clone instance
For this incident, the events were as follows:
- The process starts normally at the scheduled time:
TAKEOFF START on Mon Mar 14 23:15:01 UTC 2022
- About 25 minutes later, the database checkpoint finished executing:
CHECKPOINT: 24m53.952s
- The cloned database instance is started:
waiting for server to start....2022-03-14 23:40:05.075 GMT [51957, 0]: [1-1] user=,db=,app=,client= LOG: starting PostgreSQL 12.7 (Ubuntu 12.7-1.pgdg16.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609, 64-bit
Unfortunately, we do not have the Postgres log for that specific event, but what we do know is that the instance entered recovery mode. The script driving this entire process grants the instance 20 minutes to recover. Once that timeout is reached, the instance is shut down and the procedure is attempted again.
In this case, like in the one 3 weeks ago, we suspect that the timeout was too aggressive. This is what we observed when we ran it manually.
Thus, I have increased the timeout to 60 minutes.
Investigation stalled due to access issues for the EOC. Given the relative priority, it was decided to hold out for the next shift to see if anyone from the EMEA region has access, before attempting something more drastic/destructive.
Summary for CMOC notice / Exec summary:
- Customer Impact: internal-only
- Service Impact: ServiceHelix
- Impact Duration: 2330UTC - end time UTC ( duration in minutes )
- Root cause: TBD
Timeline
Recent Events (available internally only):
- Deployments
- Feature Flag Changes
- Infrastructure Configurations
- GCP Events (e.g. host failure)
- Gitlab.com Latest Updates
All times UTC.
2022-03-15
-
12:44- Alert fires in#alerts(link: https://gitlab.slack.com/archives/C12RCNXK5/p1647305054646289) -
02:46- vprakash declares incident in Slack.
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:
Takeaways
- ...
Corrective Actions
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?
- ...
Incident Response Analysis
-
How was the incident detected?
- ...
-
How could detection time be improved?
- ...
-
How was the root cause diagnosed?
- ...
-
How could time to diagnosis be improved?
- ...
-
How did we reach the point where we knew how to mitigate the impact?
- ...
-
How could time to mitigation be improved?
- ...
-
What went well?
- ...
Post Incident Analysis
-
Did we have other events in the past with the same root cause?
- ...
-
Do we have existing backlog items that would've prevented or greatly reduced the impact of this incident?
- ...
-
Was this incident triggered by a change (deployment of code or change to infrastructure)? If yes, link the issue.
- ...
What went well?
- ...
Guidelines
Resources
- If the Situation Zoom room was utilised, recording will be automatically uploaded to Incident room Google Drive folder (private)