2021-07-12: Redis-sidekiq performance degradation
Current Status
GitLab.com background jobs experienced delays from approximately July 12 18:00 UTC to July 13 01:50 UTC. Picking up of pipelines and other scheduled sidekiq jobs are caught back up from the traffic drop. We are currently investigating the cause of the slowdown that built up the backlog of scheduled sidekiq jobs.
The initial event on July 12 is continuing to be investigated. At that time, background processing slowed dramatically. Scheduled jobs (like scheduled pipelines) then backlogged in Sidekiq. The number of scheduled jobs rose dramatically while workers did not pick them up from approximately 18:00 UTC to 19:00 UTC. Around 19:00 UTC, workers started to pick back up, but had a large backlog of jobs from that hour to work through. Engineer oncall work at that time pivoted from what happened to doing work to help that backlog of work process faster. The larger backlog was finally brought back to normal levels July 13 at 01:50 UTC.
The root cause analysis will be tracked in https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/13776
Summary for CMOC notice / Exec summary:
- Customer Impact: ServiceRedis ServiceSidekiq ServiceCI Runners
- Customer Impact Durations:
- 18:17 UTC - 19:19 UTC (62 minutes) initial background processing stop
- 18:17 UTC - July 13 01:51 UTC (7h 34m) - scheduled pipelines job delays.
- Current state: IncidentMitigated
- Root cause: RootCauseSaturation initially - investigation still ongoing into the initial event at 1800 UTC July 12. Tracked in https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/13776
Timeline
View recent production deployment and configuration events / gcp events (internal only)
All times UTC.
2021-07-12
-
18:32
- @T4cC0re declares incident in Slack.
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.
- We believe
probe_jobs
was the root cause of this, removed in https://gitlab.com/gitlab-org/gitlab-exporter/-/merge_requests/145 - gitlab-org&6361
GCP Case Items
-
https://console.cloud.google.com/support/cases/detail/28458033 GCP support looked into
redis-sidekiq-01-db-gprd
andgke-gprd-gitlab-gke-sidekiq-urgent-cp-c84b69d9-6qwq
, they found no issues on the underlying hardware that would have caused this issue.
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
Summary
- Service(s) affected:
- Team attribution:
- Time to detection:
- Minutes downtime or degradation:
Metrics
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.
- ...
Lessons Learned
- ...
Guidelines
Resources
- If the Situation Zoom room was utilised, recording will be automatically uploaded to Incident room Google Drive folder (private)