Partial rollback leaves inconsistent state: symptoms, cause, and the test that catches it
Only some services are rolled back and the system runs with incompatible versions.
Partial rollback leaves inconsistent state is documented by 3 accepted public reports from 3 organisations, 2 of them published in the last 5 years.
- Likelihood: low (2 public reports in 5 years)
- Impact: low (2 of 3 reports: degraded)
Symptoms
User-visible
- The API error rate rose in the EU production environment after a regular platform update.[1]
- On wikis with language variants, the table of contents showed in an incorrect or inconsistent variant.[2]
- After the rollback, pages cached by the new release had no table of contents at all on all wikis.[2]
- The order router sent millions of child orders to trading centres over about 45 minutes.[3]
- The firm took on large unintended long and short positions in many stocks.[3]
Monitoring-visible
- Alarms warned the team immediately that some services could not initialise the new versions.[1]
- No automated monitoring detected the missing tables of contents after the rollback.[2]
- The rollback set off unrelated spurious client error alerts.[2]
- Engineers reported the missing tables of contents about two hours after the first user reports.[2]
Root causes
- stage: release-process The automatic rollback returned only a few services to the previous version while other services could not initialise the new versions.[1]
- stage: code Cached page output carried no version, so the rolled-back code could not handle the table of contents marker in cache entries left by the newer version.[2]
- stage: release-process New order-routing code reached seven of eight servers, and the eighth kept old code that a repurposed flag activated.[3]
- stage: release-process Uninstalling the new code from the seven correctly deployed servers let incoming orders activate the old code on those servers too.[3]
Public examples
- [1]Virtuoso, 2024-07-17. A regular platform update degraded the Virtuoso EU production environment, the automatic rollback returned only a few services to the previous version while others could not initialise the new versions, and a manual downgrade at 07:20 UTC restored full availability at 08:10 UTC. primary Increased error rate on our API
- [2]Wikimedia Foundation, 2021-11-08. Wikimedia rolled the MediaWiki train back to the previous version because of a table of contents regression, but the parser cache still held output written by the newer version, which the older code could not handle, so pages lost their table of contents on all wikis until the train was rolled forward again. primary Incidents/2021-11-05 TOC language converter
- [3]Knight Capital Americas LLC, 2013-10-16. Knight deployed new RLP code to seven of eight SMARS servers, the eighth kept defective Power Peg code that the repurposed flag activated, and when Knight uninstalled the new code from the seven servers during the incident, incoming orders activated the Power Peg code on those servers too. primary In the Matter of Knight Capital Americas LLC, Release No. 70694
Test classes that catch it
| Test class | Stage | Limitation | Basis |
|---|---|---|---|
| Unit tests | pre-merge | A unit test of the table of contents patch does not cover a deploy that reached seven of eight order-routing servers, so it misses the old code still running on the eighth server. | cited in [2] |
| Chaos and resilience tests | pre-deploy | A rollback drill shows whether every service returns to the previous version, but it does not check functional defects, so old code that a repurposed flag still activates passes the drill. | by design analysis |
| Configuration and environment tests | post-deploy | A version check across all eight servers finds the one that missed the new code, but it does not catch logic regressions such as the table of contents patch. | by design analysis |
Risk
- Likelihood: low (2 public reports in 5 years)
- Impact: low (2 of 3 reports: degraded)
| Accepted public reports | 3 |
|---|---|
| Published in the last 5 years | 2 |
| Impact stated: degraded | 2 |
| Impact stated: money | 1 |
Pre-release checklist
- PR-01
- PR-02
- PR-03
- PR-04
- PR-05
- PR-06
- PR-07
First 30 minutes
- FM-01
- FM-02
- FM-03
- FM-04
- FM-05
- FM-06
- FM-07
Download the checklist
What catches this: catalogue entries
Listed because their own documentation or site names unit tests, chaos and resilience tests, configuration and environment tests on the verification date. Alphabetical. Not a recommendation.
Tools whose documentation names these test classes
- AWS Fault Injection Service chaos source verified 2026-10-21
- Chaos Mesh chaos source verified 2026-10-21
- Chaos Toolkit chaos source verified 2026-10-21
- Flipt config source verified 2026-10-21
- Grafana k6 chaos source verified 2026-10-21
- Gremlin chaos source verified 2026-10-21
- GrowthBook config source verified 2026-10-21
- Hoverfly chaos source verified 2026-10-21
- Jest unit source verified 2026-10-21
- JUnit unit source verified 2026-10-21
- kube-monkey chaos source verified 2026-10-21
- LaunchDarkly config source verified 2026-10-21
- LitmusChaos chaos source verified 2026-10-21
- Nightwatch unit source verified 2026-10-21
- PostHog config source verified 2026-10-21
- Pumba chaos source verified 2026-10-21
- pytest unit source verified 2026-10-21
- RSpec unit source verified 2026-10-21
- TestNG unit source verified 2026-10-21
- Toxiproxy chaos source verified 2026-10-21
- Unleash config source verified 2026-10-21
- Vitest unit source verified 2026-10-21
- WebdriverIO unit source verified 2026-10-21
- WireMock chaos source verified 2026-10-21
- XCTest unit source verified 2026-10-21
Providers whose site names these test classes
- andagon people GmbH unit source verified 2026-10-21
- Inmetrics unit source verified 2026-10-21
- QA Mentor unit source verified 2026-10-21
- QualityKiosk Technologies chaos source verified 2026-10-21
- T2S Tecnologia unit source verified 2026-10-21
- Testhouse chaos source verified 2026-10-21
Only on this page
In report [1], partial rollback leaves inconsistent state came from the rollback itself. The automatic rollback returned only a few services to the previous version. Other services could not initialise the new versions. A manual downgrade at 07:20 UTC restored full availability at 08:10 UTC.
In report [3], the mixed state existed before any rollback. The new code reached seven of eight servers, and the eighth kept old code that a repurposed flag activated. Uninstalling the new code from the seven servers spread the old behaviour to them. For partial rollback leaves inconsistent state, a drill that only checks version numbers misses old code that stays reachable through a flag.
Related incidents
- Alerts silent after metric rename Renamed metrics or labels leave alerts pointing at nothing.
- Error budget burned by retry storm Client retries amplify a partial failure into a full outage.
- Cache invalidation storm A deploy flushes or invalidates caches at once and origin load spikes.
- Environment mismatch: production points to staging A production service reads a staging endpoint, bucket or database after a config change.
- Memory leak in new release Memory grows per request or per screen until processes restart or the app is killed.
Questions
What causes partial rollback leaves inconsistent state?
Two of the three accepted reports place the cause at the release-process stage. One describes an automatic rollback that returned only a few services, and one describes new code that reached seven of eight servers. The third describes cached output with no version that the rolled-back code could not read.
What are the symptoms of partial rollback leaves inconsistent state?
In one report, pages cached by the new release had no table of contents on all wikis after the rollback. No automated monitoring detected the missing tables of contents.
Why did tests not catch partial rollback leaves inconsistent state?
Report [2] states that a well written unit test could have caught the table of contents issue. Its actionables add tests for language conversion on the table of contents and tests for roll back behaviour [2].
Which public reports document partial rollback leaves inconsistent state?
Three primary reports are accepted, published between October 2013 and July 2024. One of them names unit testing as the class that could have caught the fault.
Should a team roll back or fix forward when partial rollback leaves inconsistent state happens?
One report rolled the release forward again after the rollback removed tables of contents. Another restored full availability at 08:10 UTC with a manual downgrade. FM-04 bases the choice on whether the old version can read data the new version wrote.
Release Incident Playbook (2026). Partial rollback leaves inconsistent state: symptoms, cause, and the test that catches it, content version 1.0.0. https://releasefailures.com/incidents/partial-rollback-leaves-inconsistent-state/. Accessed 2026-10-21.