Bitmovin Outage History
Bitmovin is up right nowPingoru has recorded 11 incidents for Bitmovin: 8 in the last 12 months and 1 in the last 90 days.
Incidents, newest first
Minor August 11, 2026 AWS Image Authorization Issues for Cloud Connect Customers 34m
Started Aug 11, 2026, 03:31 PM UTC· resolved Aug 11, 2026, 04:05 PM UTC
- investigating Aug 11, 2026, 03:31 PM UTC
We are currently investigating an issue affecting Cloud Connect customers running encodings on AWS. Encoding instances may fail to start due to image authorization errors when pulling required images in customer AWS accounts. Encodings on other cloud providers and Bitmovin-managed infrastructure are not affected. We will provide an update as soon as we have more information..
- identified Aug 11, 2026, 03:39 PM UTC
We have identified the root cause of the AWS image authorization issue affecting Cloud Connect customers and are currently rolling out a fix. We will provide a further update once the fix has been fully deployed..
- monitoring Aug 11, 2026, 03:53 PM UTC
This incident has been resolved. Permissions to the encoder AMIs have been restored and encodings for Cloud Connect customers on AWS have been running normally since the fix was deployed..
- resolved Aug 11, 2026, 04:05 PM UTC
This incident has been resolved. Permissions to the encoder AMIs have been restored and encodings for Cloud Connect customers on AWS have been operating normally since 15:46 UTC. We will publish a detailed root cause analysis within 24 hours. We apologize for any inconvenience caused..
- monitoring Aug 12, 2026, 02:16 PM UTC
# Root Cause Analysis: AWS Image Authorization Issues for Cloud Connect Customers On August 11, AWS Cloud Connect customers temporarily lost access to the encoder AMIs, causing encodings to fail at instance startup. The cause was a recent change to our infrastructure management API that altered internal request routing. As a result, an AMI access synchronization step in our encoder release process received an empty customer list and revoked customer AMI permissions. A first, partially completed run affected a small number of customers starting at 14:06 UTC; a second run at 14:58 UTC revoked access for all remaining customers. Access was fully restored by 15:46 UTC. No data was lost. ## Timeline (UTC) * **14:06** \- An encoder release process runs. Its AMI access synchronization step queries the list of Cloud Connect customers, receives an empty result, and begins revoking customer access to the encoder AMIs. The release process is restarted, canceling the run partway through. A small number of customers are affected at this point. * **14:46** \- The first customer reports about failing encodings on AWS come in. Since only a small number of customers are affected at this point, the initial investigation focuses on customer-specific causes. * **14:58** \- The restarted release process completes. The same synchronization step again receives an empty customer list and revokes AMI access for all remaining customers. * **\~15:28** \- After the second synchronization run, internal monitoring alerts on failing encoding startups across all AWS Cloud Connect customers, making the wider scope of the issue visible. * **15:30** \- The revoked AMI permissions are identified as the cause and traced back to the release process. * **15:34** \- We trigger a re-run of the grant process with the correct customer list. * **15:46** \- The grant process completes. AMI access is restored and encodings start normally again. We continue monitoring to confirm stable operation. ## Root cause Our encoder release process includes a step that synchronizes customer access permissions to the encoder AMIs. It queries our infrastructure management API for the list of Cloud Connect customers and grants or revokes AMI access accordingly. In the week before the incident, we made changes to the infrastructure management API to improve resiliency and redundancy. These changes also altered how requests are routed internally. When the release process ran on August 11, its customer list query was routed to an endpoint that returned an empty list with a successful response. Because the response was technically valid, no error was raised, and the synchronization step treated the empty list as the desired state and revoked customer AMI permissions. This happened in two runs: a first run that was canceled partway through when the release process was restarted, and a second run that completed and revoked access for all remaining customers. ## Resolution We re-ran the grant process with the correct customer list, which restored AMI access for all affected customers. Encodings started normally again as of 15:46 UTC, and we confirmed stable operation over the following hours. ## Preventive measures * We are adding safeguards to the AMI access synchronization so it fails instead of acting when the customer list is empty or shrinks beyond a defined threshold. * We are removing ACL management from the encoder release process entirely. Customer AMI access is already managed by our infrastructure service, and the release process was an unintended second place where these permissions could be changed. Consolidating this into a single owner eliminates this class of failure. * We are improving our detection for this failure mode so that permission changes of this kind are alerted on directly, rather than indirectly through failing encodings. This will let us identify the scope of similar issues faster, even when only few customers are initially affected. We apologize for the disruption this caused. If you have questions about this incident, please reach out to our support team..
Major July 27, 2026 Observability Database Unavailable 32m
Started Jul 27, 2026, 12:45 PM UTC· resolved Jul 27, 2026, 01:17 PM UTC
- investigating Jul 27, 2026, 12:45 PM UTC
Starting at 14:33 CEST, our core Bitmovin Observability cluster is experiencing an outage. Ingestion is unaffected and incoming data is being buffered, so no data loss is expected. Querying (dashboards and API) and data export are currently unavailable. We are investigating and will post an update within 30 minutes..
- identified Jul 27, 2026, 12:55 PM UTC
The database cluster has recovered. Querying (dashboards and API) and data export have resumed, and incoming data is being written normally again. We are now triggering the backfill of the buffered data. Until it completes, recent data may be incomplete in queries and exports. We are monitoring the results and will confirm once the backfill has finished..
- resolved Jul 27, 2026, 01:17 PM UTC
As of 15:17 CEST, the backfill has completed and all buffered data is available. All systems are operational again. No data was lost. We will provide a root cause analysis as soon as possible..
- monitoring Jul 28, 2026, 12:37 PM UTC
# RCA: Bitmovin Observability query and export outage (27 July 2026) On 27 July 2026, Bitmovin Observability was unable to serve queries or data exports for approximately 20 minutes, with reduced data completeness for a further 24 minutes. Data ingestion was never interrupted, incoming data was buffered throughout, and no customer data was lost. This post explains what happened, what we have done, and what we are changing. ## Impact Between 12:33 and 12:53 UTC, the Bitmovin Observability query API, dashboards and data export were unavailable. Queries and exports resumed at 12:53\. Data collected during the outage was buffered and then backfilled, completing at 13:17 UTC. Until that point, queries covering the affected period could return incomplete results. Data ingestion and collection were not affected at any time, and there was no data loss. ## What happened An internal query executed against our observability database cluster triggered a defect in the database engine. The memory used by this query was not correctly accounted for, which meant the cluster's memory safeguards never engaged. Instead of the query being limited or rejected, memory was consumed until nodes became unresponsive, and the failure propagated across the cluster rather than staying contained to the node serving the query. Automated alerting notified our on-call engineers within 30 seconds. The cluster was restarted at 12:43 and completed recovery of all shards, resuming full write acceptance, at 12:53\. Buffered data was then backfilled and fully available at 13:17. ## Timeline (UTC) | Time | Event | | ----- | ---------------------------------------------------------------------------------------- | | 12:32 | An internal query is executed against the observability database cluster | | 12:33 | First query and export errors observed | | 12:34 | The cluster becomes unavailable, automated alerts fire and engineers begin investigating | | 12:43 | Cluster restart initiated | | 12:53 | All shards recovered, writes fully accepted, queries and exports resume | | 13:17 | Backfill of buffered data complete, all systems operational | ## What we are changing * The query that triggered the defect was an ad hoc analytical query run by an operator, not a query our application issues in normal operation. We have instructed our engineering team not to run this class of query against the production cluster until the underlying defect is resolved. * We are reporting the defect upstream and validating whether a fix is available in a newer version of the database engine. Our ingestion buffering worked exactly as designed and protected customer data. We apologise for the disruption and for the incomplete data during the backfill window..
Minor July 21, 2026 Bitmovin Observability Querying Issues 2h 36m
Started Jul 21, 2026, 10:24 AM UTC· resolved Jul 21, 2026, 01:00 PM UTC
- investigating Jul 21, 2026, 10:24 AM UTC
We are currently investigating issues for specific observability queries affecting historic datasets. Data ingest is not affected..
- resolved Jul 21, 2026, 01:00 PM UTC
Query operations are back to normal and we continue to monitor the situation. We apologize for any inconvenience caused due to this incident..
Minor July 7, 2026 Bitmovin Encodings cannot be started 54m
Started Jul 07, 2026, 11:45 AM UTC· resolved Jul 07, 2026, 12:39 PM UTC
- investigating Jul 07, 2026, 11:45 AM UTC
We are currently investigating a potential service disruption impacting encoding start calls. Our team is actively reviewing alerts and customer reports. We’ll provide an update within 30 minutes or as soon as we have more information. Thank you for your patience..
- identified Jul 07, 2026, 12:25 PM UTC
We have identified the root cause and our Engineering team is actively working on implementing a fix for the identified issue impacting encoding start calls. We are making progress and will share an update as soon as validation is underway or the fix is rolled out. Thank you for your continued understanding..
- monitoring Jul 07, 2026, 12:37 PM UTC
A fix has been implemented, and we are currently monitoring the system to ensure full recovery. Early indicators are positive, but we are validating to confirm that services are fully restored. We will provide a final resolution update shortly..
- resolved Jul 07, 2026, 12:39 PM UTC
The issue affecting Bitmovin Encoding has been resolved, and full functionality has been restored. Our systems are stable, and we are no longer observing any errors or delays. A Root Cause Analysis (RCA) will follow once our internal review is completed. Thank you for your patience throughout this disruption. We apologize for all customers that were affected by this outage, unfortunately failed encodings cannot be restarted on our side but need to be recreated in your workflow..
- monitoring Jul 09, 2026, 08:59 AM UTC
# Root Cause Analysis — Encoding Configuration & Start Outage — 2026-07-07 # Summary On 07 July 2026, a non-backwards-compatible database migration was applied to a relational database schema at **11:40 UTC**. The migration renamed several columns on a table. The currently running microservice responsible for the configuration of encoding resources still referenced the old column names in its entity mappings, so every read referencing the affected table began failing with a "Unknown column" error. As a result, customers could not configure or start encodings. Affected API calls returned **HTTP 500** responses. The first alert fired internally at **11:41 UTC**, customer reports arrived shortly after. The root cause which was the non-backwards compatible database migration which has been applied was identified at 12:15 UTC, a migration reverting the previous change was applied at 12:31 UTC, and the incident was marked **Resolved at 12:40 UTC**. # Incident Timeline | **Start time** | 11:40:51 UTC (breaking DB migration applied) | | -------------------------------------------------------------- | ----------------------------------------------- | | **First internal alert** | 11:41 UTC | | **Escalation** | 11:51 UTC | | **First customer reports and start of incident Investigation** | 11:58 UTC | | **Root Cause Identified** | 12:15 UTC | | **Mitigation Applied** | 12:31 UTC (migration reverting changes applied) | | **Resolution Time (Statuspage)** | 12:40 UTC | | **Total Duration** | \~ 50 minutes | | **Detection Method** | Internal monitoring/alerts + customer reports | # Customer Impact Customers could not configure and/or start encoding jobs. Affected requests returned an **HTTP 500 Internal Server Error** with error code 1004 — "An undefined error occurred". # Root Cause A migration renaming columns within a relational database table was applied to the production database. An in-place CHANGE COLUMN rename was included in the database migration. The version of the service accessing the affected table running in production did still expect the old column names in its database entity mappings. This bubbled up as an unhandled exception and was returned to callers as an HTTP 500 error. Given that the affected database serves as the primary repository for the encoding API, the resulting disruption was widespread, impacting configuration workflows for our entire customer base. The database schema change and the corresponding service code change were not coordinated as a backwards-compatible, multi-step rollout. A schema-and-code change of this kind requires the database to remain compatible with the currently deployed service version at every step. # Next Steps and Preventive Actions _Detection & response_ * **Faster escalation** — we've shortened the on-call escalation window so incidents reach the full response team within minutes of detection. * **Real-time error-rate alerting** — we've reduced time to alert on API error rates to 2 minutes. _Prevention_ * **Formalized migration procedure** — all database schema changes now follow a documented, mandatory playbook requiring backwards-compatible, multi-step rollouts, keeping the database compatible with the running service version at every step. This standard is applied uniformly across all engineering teams. * **Automated safeguards in CI and code review** — we've added automated checks and compatibility tests that detect schema/service mismatches before a change can reach production..
Minor June 7, 2026 Delayed Observability Data Ingestion (US Region) 57m
Started Jun 07, 2026, 04:37 PM UTC· resolved Jun 07, 2026, 05:35 PM UTC
- investigating Jun 07, 2026, 04:37 PM UTC
We are currently investigating connectivity issues between our US datacenter and our central Observability data store happening since 16:26 UTC. As a result, approximately 20% of analytics requests originating in the US are not being ingested in real time. Affected data is being buffered and will be inserted into the database once connectivity is restored, so no data is being lost. Querying of previously ingested data is unaffected. We are working with our cloud providers to identify the root cause and will provide an update as soon as we have more information..
- identified Jun 07, 2026, 04:59 PM UTC
We have identified the cause of the connectivity issue between our US datacenter and our central Observability data store and have failed over to an alternative transport protocol. Real-time ingestion of US analytics data has been fully restored. We are now draining the backlog of buffered data into the database. Some recently buffered records may appear with a short delay until this process completes. No data loss is expected. We will continue to monitor the system and will post a final update once all buffered data has been backfilled..
- resolved Jun 07, 2026, 05:35 PM UTC
This incident is now resolved. As of 17:32 UTC, all buffered data has been successfully backfilled into our central Observability data store, and ingestion has been operating normally on the alternative transport protocol since the failover at 16:52 UTC. There was no data loss. Records buffered during the connectivity issue are now fully available for querying. The incident began at 16:26 UTC and was fully resolved at 17:32 UTC. We apologize for any inconvenience and will follow up with a post-incident review once we have performed a full root cause analysis..
Minor April 14, 2026 Observability API — Historic Data Queries Returning Empty Results 1d 4h
Started Apr 14, 2026, 07:31 AM UTC· resolved Apr 15, 2026, 12:23 PM UTC
- investigating Apr 14, 2026, 07:31 AM UTC
We have identified an issue affecting the Observability platform where historic data is currently not being served correctly. API queries targeting timeframes prior to today may return empty or incomplete results. Additionally, session details and unique viewers metrics in the Observability Dashboard are impacted for historic timeframes. Real-time data and all data for today remain fully operational and unaffected, both in the Observability Dashboard and via the API. Our engineering team is actively investigating the root cause and working on a resolution. We will provide updates as more information becomes available..
- identified Apr 14, 2026, 09:00 AM UTC
We are continuing to investigate the issue affecting historic data on the Observability platform. We can now confirm that all data prior to 06:00 UTC today (April 14, 2026) is affected. Currently impacted: * API queries for timeframes before 06:00 UTC today are returning empty or incomplete results. * Zooming into minute granularity in the Observability Dashboard for timeframes before 06:00 UTC today will not display data. * Session details and unique viewers metrics in the Dashboard are unavailable for affected timeframes. Viewing data at hourly granularity in the Dashboard is working normally. All data from 06:00 UTC today onwards remains fully operational and unaffected, both in the Dashboard and via the API. We are actively investigating the root cause and working on mitigation. We will continue to provide updates as we make progress..
- identified Apr 14, 2026, 11:04 AM UTC
We have identified the root cause of the issue affecting historic data in our Observability product. A bug in our database software caused a metadata mismatch, making historic data in our high granularity data store unavailable for timeframes prior to 06:00 UTC today (April 14, 2026). We have successfully reproduced the issue and our database vendor is currently working on a hotfix to resolve it. We will provide a further update once we have a timeline for mitigation..
- identified Apr 14, 2026, 03:24 PM UTC
We are currently working on mitigating the issue affecting historic data in Bitmovin Observability. The underlying bug in our database software has been identified and fixed. However, the corrupted metadata is already present in the system, which requires us to recover data from backup. No data has been lost. As part of the recovery process, we will need to perform a short table switch during which high granularity data may contain a small gap for a few minutes. Once the data recovery is complete, all historic data will be fully available and everything will be back to normal. We will post an update once the recovery operation is complete..
- identified Apr 14, 2026, 06:16 PM UTC
We are now performing a cut-over for the 30 day retention data store to the recovered data. Historic data will be available again within the next 10 minutes at 2026-04-14 18:25 UTC. During the cut-over time you might see short gaps in the data while we reconcile the recovered data set with the live data. We will post a final update once the operation is complete and 30 day retention data is fully restored..
- identified Apr 14, 2026, 07:11 PM UTC
We have completed the data recovery for the 30 day retention data store. All historic data for affected customers on this retention tier is now fully available again. We will now continue with recovery for the 90 day retention data store. We expect this recovery to be completed by tomorrow morning (April 15, 2026). We will post a final update once all data has been fully restored..
- identified Apr 15, 2026, 11:38 AM UTC
We are now performing the cut-over for the 90 day retention data store. We expect this to take approximately 30-45 minutes. There may be brief inconsistencies in high-granularity data during the process. We will post a final update once the operation is complete and all data is fully restored..
- resolved Apr 15, 2026, 12:23 PM UTC
The data recovery is now fully complete. All data across both 30 day and 90 day retention data stores is fully available again in the Observability Dashboard and via the API. We will perform a full root cause analysis and publish it by tomorrow (April 16, 2026) at the latest. We apologize for any inconvenience caused and thank you for your patience..
- monitoring Apr 15, 2026, 03:28 PM UTC
### Summary On April 14, 2026, starting at approximately 06:00 UTC, historic data in Bitmovin Observability became partially unavailable. API queries for timeframes before 06:00 UTC returned empty or incomplete results, and minute-level granularity in the Dashboard was unavailable for affected timeframes. Hourly granularity for historic data in the Dashboard remained unaffected. API queries for data after 06:00 UTC were fully operational throughout the incident. ### Root Cause On April 13, 2026, we upgraded our database software to a new version. This version had been running successfully in our QA environment for over one month prior to the production rollout. On April 14, our daily retention job, which removes data that has exceeded its retention period, executed normally but triggered a pre-existing bug in the new database version. This bug caused a metadata corruption that led the database to misidentify the storage location of existing data. As a result, queries against historic data returned empty results even though the underlying data was still intact on disk. The bug was specific to tables that had been created on an older version of the database and subsequently upgraded, which is why it did not surface in our QA environment. We worked together with our database vendor to identify the root cause and determine the best recovery path. The vendor has confirmed the issue and developed a fix, which we expect to be released today (April 15, 2026). ### Impact * API queries for timeframes before 06:00 UTC on April 14, 2026 returned empty or incomplete results. * Minute-level granularity in the Observability Dashboard was unavailable for affected timeframes. * Session details and unique viewers metrics were unavailable for affected timeframes. * Data exports for timeframes before 06:00 UTC were also affected. * During the final recovery steps, brief data inconsistencies were visible in the Dashboard while recovered data was being reconciled with live data. * No data was lost. All real-time monitoring, alerting, and data ingestion remained fully operational throughout the incident. Hourly granularity for historic data in the Dashboard was unaffected. All functionality related to data after 06:00 UTC, including API queries, exports, and Dashboard views at all granularities, was fully operational. The impact was limited to minute-level granularity, session details, unique viewers, and exports for timeframes before 06:00 UTC. ### Timeline (all times UTC) | Time | Event | | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | April 13 | Database software upgraded to new version | | April 14, 06:00 | Daily retention job runs, triggering the metadata corruption | | April 14, 06:35 | Routine data integrity check triggers an alarm, investigation begins | | April 14, 07:08 | Issue escalated to database vendor support | | April 14, 07:18 | Database vendor joins investigation call | | April 14, 09:20 | Retention job identified as the trigger for the issue | | April 14, 10:00 | Issue successfully reproduced | | April 14, 12:19 | Root cause identified and bug fixed. Analysis concludes that recovery via code change alone is not feasible. Recovery plan using backups and secondary data stores initiated | | April 14, 13:00 | Data recovery begins for the 30 day retention data store | | April 14, 19:10 | 30 day retention data store recovery completed. 90 day retention data store recovery begins | | April 15, 12:20 | 90 day retention data store recovery completed. Incident resolved | ### Mitigation & Recovery Once the root cause was identified, we worked with our database vendor who developed a fix to prevent future occurrences. Since the corrupted metadata was already present in the system, recovery via a code change alone was not feasible. We performed a full data recovery using backups and secondary data stores. Recovery was carried out in two phases: first for the 30 day retention data store, then for the 90 day retention data store. Both were completed successfully with all historic data fully restored. ### Preventive Measures * The database vendor has developed a fix that prevents the metadata corruption from occurring during partition deletions. We expect the fix to be released today (April 15, 2026). * We will apply the fix to our production systems once it is available. * We will ensure our QA environment includes tables that mirror production conditions, including tables originally created on older database versions and subsequently upgraded, to catch similar edge cases before production rollouts..
Minor January 28, 2026 Encoding Job Processing in AWS eu-west-1 (Ireland) 2h 41m
Started Jan 28, 2026, 05:15 PM UTC· resolved Jan 28, 2026, 07:56 PM UTC
- identified Jan 28, 2026, 05:15 PM UTC
Jobs started in AWS eu-west-1 (Ireland) may be affected by an upstream networking issue on AWS EC2..
- monitoring Jan 28, 2026, 05:48 PM UTC
We implemented a fix and are currently monitoring the result..
- resolved Jan 28, 2026, 07:56 PM UTC
This incident has been resolved..
Minor November 23, 2025 Increased Error Rates on Encoding API 5h 24m
Started Nov 23, 2025, 05:07 PM UTC· resolved Nov 23, 2025, 10:31 PM UTC
- investigating Nov 23, 2025, 05:07 PM UTC
We are currently investigating this incident..
- identified Nov 23, 2025, 05:39 PM UTC
We are currently experiencing a **partial outage** of the Encoding API. Error rates remain elevated and queued encodings continue to accumulate. To stabilise the platform, we have temporarily reduced maximum processing concurrency. While this measure helps improve system stability, it also impacts throughput and leads to longer wait times for queued jobs. Our engineering team is actively working on restoring normal performance. We will provide further updates as we make progress..
- identified Nov 23, 2025, 06:18 PM UTC
We have successfully reduced the Encoding API error rate; however, our services are still struggling to process the backlog of queued service messages. To help stabilise the system, we have further lowered the VOD processing limits and continue to actively work on clearing the queue and restoring full service performance. Webhook notifications are also lagging behind. Further updates will follow as we make progress..
- investigating Nov 23, 2025, 07:24 PM UTC
Our team is continuing to investigate the issue impacting slow API requests, delayed encoding status updates and delayed manifest generations (manifests generated with the encoding start calls). Encoding output is not affected. At this time, we have not yet identified the root cause. Diagnostic efforts are ongoing, and all necessary teams are engaged. We sincerely apologize for the inconvenience and will provide updates as soon as we have more information. Thank you for your patience and understanding..
- investigating Nov 23, 2025, 08:33 PM UTC
Our team has likely identified the root cause of high DB load causing delays in encoding status updates in our API and dashboard. We are deploying a new version of the affected service and will have an update in a few minutes. .
- identified Nov 23, 2025, 09:30 PM UTC
We have identified the root cause of the issue and implemented a fix, encoding backlog processing has sped up but will take more time to fully recover the overall system state..
- identified Nov 23, 2025, 10:02 PM UTC
Our internal system state has recovered and we are slowly increasing parallel processing throughput for the queued encoding backlog..
- monitoring Nov 23, 2025, 10:24 PM UTC
We are increasing parallel encoding slots every 10 minutes and the queued encoding backlog built up in during the incident will be finished soon. We encourage our customers to restart potentially stopped workflows again..
- resolved Nov 23, 2025, 10:31 PM UTC
Our systems are stable, and we are no longer observing any errors or delays. A Root Cause Analysis (RCA) will follow once our internal review is completed. Thank you for your patience throughout this disruption..
- monitoring Nov 25, 2025, 10:45 AM UTC
## **Root Cause Analysis – Encoding Service Outage 23 Nov 2025** **Summary** On 23 Nov 2025, the Bitmovin Encoding Platform experienced a service outage affecting our VoD and Live encoding pipeline. The issue resulted in temporary unavailability of encoding operations including starting and stopping of encodings and unavailability of status updates of running encodings for the time of the outage. ## **Root Cause** A **bug in one of our encoding services** caused memory usage and database (DB) data transfer volumes to increase slowly but steadily over the course of approximately one month. This resulted in: * Gradually **escalating DB read traffic** from the encoding services due to increasing object size with time * Overwhelming the service with **growing message queues** for this specific service due to decreased throughput * Data transfer reaching **\~900 MB/s outbound** from the database to the service instances As memory usage kept rising, multiple encoding service instances ultimately **crashed simultaneously**, leading to an abrupt stop in processing and further service degradation due to accumulation of **\~300,000 unprocessed service messages during the outage from 18:00 CET**. ## **Impact** * Encoding jobs failed to start after queueing * Running encoding jobs failed to update their status to “In Progress” or “Finished” during the incident ## **Detection** * 18:06 CET – Investigation initiated based on internal monitoring and alerts. * 18:07 CET – Outage confirmed and posted on status page. Internally, teams observed service pods **crashing due to memory limit exhaustion**, causing message processing interruptions and queue growth. ## **Investigation, Mitigation & Recovery** After the service crashes, we initiated a controlled process: 1. Increased service memory limits on our kubernetes cluster 18:25 CET 2. Reduced parallel message queue worker logic of the affected service to reduce DB read load by about 30% 19:02 CET 3. Implemented further monitoring and tracing in the service to increase visibility into the massive DB data streaming causes 19:38 CET 4. Re-routed several messages on our messaging system to further decrease DB read load 19:51 CET 5. Sped up processing of messages causing excessive read operations through service based skipping with a new service version 20:23 CET 6. Deployed new service which decreased DB read load to normal levels 20:56 7. Increased message throughput for services to restore the system state by processing the message backlog of about 350k messages in RabbitMQ 21:30 CET 8. Restored all service configuration and gradually increased encoding throughput 23:00 CET 9. Full service restored 23:31 CET ## **Next Steps and Preventive Actions** To prevent recurrence, we are implementing the following: * Implement a holistic fix for the bug causing excessive DB read load * Expand message queue and memory usage monitoring with stricter alerts for read amplification * Comprehensive review of encoding service code paths related to heavy DB reads * Message queue pressure safeguards including throttling for struggling services.
Minor October 20, 2025 Encoding Failures in us-east-1 Due to EC2 Instance Creation Issues 9h 18m
Started Oct 20, 2025, 10:30 AM UTC· resolved Oct 20, 2025, 07:48 PM UTC
- monitoring Oct 20, 2025, 10:30 AM UTC
Since 12:30 UTC on October 20, our encoding service in the us-east-1 region has again been impacted by an AWS issue preventing the creation of new EC2 instances. As a result, new encoding jobs in this region may fail to start. Running encodings on existing capacity are not affected. Workaround: We recommend all customers switch to another cloud region that is not affected or make use of the fallbackRegion setting when creating encodings, as described in our Documentation: . We are monitoring AWS’s recovery efforts closely and will provide further updates as more information becomes available..
- monitoring Oct 20, 2025, 12:58 PM UTC
The incident is still ongoing. Our encoding service in us-east-1 continues to be impacted by AWS EC2 instance creation issues. We are waiting for further updates from AWS and will continue to monitor their recovery efforts. For more detailed and up-to-date information, we recommend customers check the AWS Health Dashboard: In the meantime, we continue to recommend switching to another unaffected cloud region or using the fallbackRegion setting as described in our Encoding Incident Operational Playbook: .
- monitoring Oct 20, 2025, 01:33 PM UTC
The AWS incident affecting EC2 instance creation in us-east-1 is still ongoing. As a result, encoding jobs in this region may continue to fail to start. There are currently no actions we can take on our side until AWS resolves the underlying issue. Therefore, we will pause posting further updates until AWS has marked the incident as resolved. For the latest information, we recommend monitoring the AWS Health Dashboard: In the meantime, we continue to recommend switching to another unaffected cloud region or using the fallbackRegion setting as described in our Encoding Incident Operational Playbook: .
- resolved Oct 20, 2025, 07:48 PM UTC
The AWS incident affecting EC2 instance creation in us-east-1 has been resolved by AWS as of Oct 20 21:48 UTC.
Minor October 16, 2025 Elevated API Error Rate on Muxing creation 40m
Started Oct 16, 2025, 05:50 AM UTC· resolved Oct 16, 2025, 06:30 AM UTC
- investigating Oct 16, 2025, 05:50 AM UTC
We are currently investigating this incident..
- resolved Oct 16, 2025, 06:30 AM UTC
We experienced elevated API error rates on the encoding endpoints between 07:50 and 08:30 UTC. The issue, caused by the encoding service during muxing creation, was identified and promptly resolved. The engineering team is preparing a post-mortem and will share it here once available..
- monitoring Oct 20, 2025, 10:04 PM UTC
# Incident Post-Mortem – Encoding Cleanup Gap-Lock **Date:** 2025-10-16 **Duration:** 07:49–08:30 UTC (41 minutes) **Customer Impact:** Calls to the `https://api.bitmovin.com/v1/encoding/encodings/{encoding_id}/muxings/` endpoints failed, leading to workflow stoppages. The failure rate remained below monitoring thresholds, so the issue was not immediately detected. ## Summary At 07:49 UTC, our encoding cleanup process (responsible for deleting old encodings outside of retention) triggered a **gap-lock** on one of our database tables. While the long-running delete transaction was active, the API was unable to insert new records into the table. This directly impacted the **muxings endpoints**, which failed during this period and caused encoding workflows to stop. Because the error rate was below our monitoring alert thresholds, the incident went unnoticed until the team was alerted at 08:20 UTC. ## Root Cause The issue was caused by **outdated MySQL table statistics**, which led the **MySQL query optimizer** to select an inefficient execution plan: * Instead of using an index scan on the large table, the query optimizer chose a **full table scan**. * Under **REPEATABLE\_READ isolation**, this resulted in **gap-locks** across wide portions of the table. * In practice, this behaved like a **table-level lock**, blocking all inserts until the cleanup query was stopped. ## Timeline * **07:49 UTC** – Encoding cleanup process starts. Optimizer chooses full table scan → gap-locks prevent inserts. * **07:49–08:20 UTC** – Calls to `/encoding/encodings/{encoding_id}/muxings/` fail, workflows stop. Monitoring does not alert as errors are below configured threshold. * **08:20 UTC** – Engineering team is alerted. * **08:20–08:30 UTC** – Cleanup process identified as root cause. Process is stopped, lock released. * **08:30 UTC** – Incident resolved, API resumes normal operation. ## Immediate Actions After resolving the incident, we immediately stopped the cleanup process and investigated why it suddenly caused issues despite having run successfully for years. Since then, we have: * **Tightened timeouts** for deletion commands in the cleanup process. * **Changed to a more forgiving isolation level** to prevent broad blocking locks. * **Adjusted the cleanup process to use smaller batch sizes and higher concurrency**, which reduced database impact and increased throughput. * **Added significantly more monitoring** to the cleanup process to better track query performance and catch anomalies early. ## Next Steps * **Update MySQL statistics** so the query optimizer selects the correct execution plan. * _Expected completion:_ **by end of this week (2025-10-24)** * **Rework alerting strategy** to detect low-rate but workflow-blocking errors earlier. * _Expected completion:_ **within 3 weeks (by 2025-11-06)**.
Minor September 4, 2025 Encoding failures on AWS 1h 8m
Started Sep 04, 2025, 03:45 AM UTC· resolved Sep 04, 2025, 04:53 AM UTC
- investigating Sep 04, 2025, 03:45 AM UTC
We are currently experiencing failures with encodings on AWS. Our engineering team is currently investigating the issue.
- resolved Sep 04, 2025, 04:53 AM UTC
# Root Cause Analysis: Encoding Failures on AWS ### Summary On **September 4, 2025**, between **06:31 AM and 08:10 AM CEST**, encoding jobs running on AWS failed due to an issue accessing our S3 storage. ### Root Cause The incident was caused by an error during a routine S3 key rotation. The old access key was deleted before the new key was in use, which temporarily prevented our encoding service from accessing storage. ### Impact * Only encoding jobs running on **AWS** were affected. * Encodings on other cloud providers and all other Bitmovin services were **not impacted**. ### Resolution The configuration was corrected at **08:10 AM CEST**, restoring access to S3\. Encoding operations on AWS recovered immediately and have been stable since. ### Preventive Measures To prevent this from happening again, we are: * Updating our key rotation procedure to ensure keys are not deleted prematurely. * Automating the key rotation process to reduce the chance of operator error..