惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Recent Announcements
Recent Announcements
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
罗磊的独立博客
月光博客
月光博客
J
Java Code Geeks
A
About on SuperTechFans
Microsoft Security Blog
Microsoft Security Blog
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
U
Unit 42
C
Check Point Blog
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog

Spotify Engineering

Why Spotify Is Not Using Bayesian A/B Testing | Spotify Engineering Portal by Spotify cut my Claude Code token usage by 90% | Spotify Engineering When Can LLMs Replace Humans in A/B Tests? | Spotify Engineering Indexing the Data Lake for Online Point Queries | Spotify Engineering Encoding Your Domain Expert: The Context Layer Behind Spotify's Data Assistant | Spotify Engineering Coding Is No Longer the Constraint: Scaling Developer Experience to Teams and Agents at Spotify | Spotify Engineering Better Experiments with LLM Evals — A funnel, not a fork | Spotify Engineering Building a Natural Language Interface to the Spotify Ads API with Claude Code Plugins | Spotify Engineering Background Coding Agents: Supercharging Downstream Consumer Dataset Migrations (Honk, Part 4) | Spotify Engineering Let’s Talk Agentic Development: Spotify x Anthropic Live | Spotify Engineering Inside the Archive: The Tech Behind Your 2025 Wrapped Highlights | Spotify Engineering Our Multi-Agent Architecture for Smarter Advertising | Spotify Engineering How We Release the Spotify App: A Look Under the Hood (Part 2) | Spotify Engineering Congratulations to the recipients of the 2025 Spotify FOSS Fund | Spotify Engineering
Content Ingestion & Podcast Video Incident Report | Spoti...
Jim Whitehead (Director, Engineering), Ulrik Mikaelsson (Staff E · 2026-07-21 · via Spotify Engineering

Over the past two months, podcast creators have experienced a series of reliability issues on Spotify. This report covers the most significant of these, the June 24 publishing delay, in full detail and describes the broader reliability program now underway across our publishing pipeline.

What happened?

When a podcast creator publishes a new episode, the audio and video content goes through a series of processing steps before it becomes available to Spotify users. These steps include transcoding (converting media into the formats our apps need) and content analysis.

On June 24, our video transcoding infrastructure reached maximum capacity. This created a backlog that delayed the publication of video podcast episodes for several hours. Creators reported that their episodes were not appearing on Spotify as expected. A queue built up and video podcast episodes that would normally be published within minutes were delayed for hours. Understandably, some creators re-uploaded episodes that had not appeared, which added further load. That is on us, not them: the system should have confirmed their upload was received and queued, and it did not.

Screenshot 2026-07-20 at 18.25.42

The image above shows the build-up and subsequent emptying of the medium-priority (used for new episodes - shown in blue) and low-priority (used for updates to older episodes - shown in yellow) queues.

Four factors converged to create this situation:

  • Our transcoding infrastructure was running with insufficient headroom to handle large spikes of content delivery. During typical periods of content submission our transcoding systems were able to scale and support both low-priority transcoding as well as the high-priority publication of new content. However, there wasn’t sufficient headroom to scale and support large spikes caused by the bulk delivery of new content.

  • A scheduled batch processing job was running. On occasion, we need to re-process existing episodes to be compatible with changes or additions to Spotify’s playback systems. During the June 24 disruption, a routine batch job processing existing content was consuming additional capacity alongside the regular processing for new episodes. While this job appeared fine earlier in the day, it became problematic when combined with increased content submissions.

  • Recent improvements increased per-item processing cost. We had recently changed our video transcoding to deliver better quality at lower bitrates. That change increased the time and processing power each episode requires, and we did not fully account for that added demand in our capacity planning.

  • A software bug was underutilizing available compute resources. Following a recent infrastructure migration to more powerful hardware, a bug in our resource scheduling caused our systems to underuse available processing capacity, reducing throughput by about 10%.

When we identified the issue, we stopped the batch job, deployed a fix for the resource scheduling bug, and added additional processing capacity overnight. By the following morning, all backlogs had cleared and publishing was operating normally. We subsequently added further capacity to provide the headroom that had been missing.

Timeline (UTC)

  • 13:30 — Early alerts fire in our internal monitoring. Not immediately recognized as a broader capacity issue.

  • 15:00 — Video podcast delivery spike pushes transcoding close to maximum capacity.

  • 16:35 — Batch processing job stopped to free capacity.

  • 17:34 — Automated alerts confirm queue backlog exceeding thresholds. Incident response begins.

  • 19:00 — Creator reports of episodes not appearing on Spotify.

  • 20:49 — Software fix deployed to improve resource utilization.

  • 00:14 (Jun 25) — Additional processing cluster brought online.

  • 01:02 — All queues cleared.

  • 07:30 — Full confirmation: all publishing pipelines operating normally.

One thing this timeline makes plain: roughly four hours passed between the first alerts and formal incident response. We want to do better. Engineers investigating the early alerts stopped the batch job at 16:35, but we did not recognize the full scope of the capacity problem until queues breached thresholds at 17:34. The monitoring improvements described below exist to close exactly that gap.

Where do we go from here?

We have already taken several steps to address this specific incident:

  • Increased our transcoding capacity by approximately 67%, providing significantly more headroom for traffic spikes and batch operations.

  • Fixed the resource scheduling bug that was leaving under-utilized compute capacity.

  • Improved our monitoring to alert earlier when capacity is approaching limits.

Beyond this specific incident, we are investing in broader improvements to the reliability of our podcast publishing pipeline. We've formed a dedicated cross-team effort focused on:

  • Building better capacity planning that accounts for not just steady-state traffic, but also burst capacity and incident recovery.

  • Improving prioritization across our publishing systems so that real-time content from creators is always processed ahead of background operations.

  • Extending rate limiting and backpressure mechanisms throughout the pipeline to handle unexpected load gracefully.

  • During this incident, many creators learned something was wrong from their audiences before they heard anything from us. We are improving our processes and technical capabilities so creators get notified as soon as possible when things aren’t working. 

When a creator hits publish, their audience is waiting, and hours matter. We fell short repeatedly this summer, and we know a report like this only counts if the next incident is handled better than the last. The work above is how we intend to earn that trust back.