2023-11-09: Sidekiq accumulating backlog of elasticsearch jobs
Customer Impact
The Advanced Search feature may have a longer delay than usual in finding recent changes in searchable indexed contents. The backlog is rapidly shrinking, and should be completely resolved by 22:40 UTC or sooner.
Current Status
We found and addressed the bottleneck. The backlog is rapidly shrinking and should resolve in another 20 minutes (around 22:40 UTC).
The sidekiq shard named elasticsearch
includes jobs for feeding both Elasticsearch and Zoekt. A set of Zoekt reindexing jobs ended up being slower than expected due to the zoekt indexer being throttled by its CPU limit. Those slower than expected jobs caused the shard's overall throughput to drop low enough for a backlog to accumulate in sidekiq's job queue. Increasing the Zoekt indexer's CPU limit resolved the unexpectedly slow job execution and allowing the backlog of jobs to be quickly consumed.
📚 References and helpful links
Recent Events (available internally only):
- Feature Flag Log - Chatops to toggle Feature Flags Documentation
- Infrastructure Configurations
- GCP Events (e.g. host failure)
Deployment Guidance
- Deployments Log | Gitlab.com Latest Updates
- Reach out to Release Managers for S1/S2 incidents to discuss Rollbacks, Hot Patching or speeding up deployments. | Rollback Runbook | Hot Patch Runbook
Use the following links to create related issues to this incident if additional work needs to be completed after it is resolved:
- Corrective action ❙ Infradev
- Incident Review ❙ Infra investigation followup
- Confidential Support contact ❙ QA investigation
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 our 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.