Encoding or timezone shift: symptoms, cause, and the test that catches it
Stored timestamps or strings are shifted or corrupted after a driver, locale or timezone change.
Encoding or timezone shift is documented by 2 accepted public reports from 2 organisations, 1 of them published in the last 5 years.
- Likelihood: not published (1 public report in 5 years)
- Impact: high (2 of 2 reports: data)
Symptoms
User-visible
- Users with a custom account timezone get wrong results from timezone-based calculations, for about two hours on one warehouse connection type.[1]
- The same wrong results return for 30 minutes on a second warehouse connection type after the first one is fixed.[1]
- Customer filter queries return incorrect results.[1]
- Notes added through the web dashboard display a time 4 hours in the future.[2]
Monitoring-visible
Root causes
- stage: code A code change to a backend component stopped setting the session timezone in the drivers that connect to customer data warehouses, so the account timezone was not passed between components.[1]
- stage: config An infrastructure change to how the dashboard module is served left the timezone configuration variable set to NULL, so new notes were stored against the wrong offset.[2]
- stage: release-process The exit criteria for the infrastructure change did not check that timestamps were recorded in the right timezone, so the change passed testing with no application error.[2]
Public examples
- [1]Sigma Computing, 2023-10-06. A backend code change stopped timezones from being set in the drivers Sigma uses to connect to customer data warehouses, so users with a custom account timezone saw incorrect results for timezone-based calculations on Snowflake and later on Databricks. primary Postmortem for Aug 10th, 2023: Incorrect results for timezone-based calculations
- [2]ServiceChannel, 2020-04-08. An infrastructure change to how the ServiceChannel Dashboard module is served left the timezone configuration variable set to NULL, so Work Order Notes were recorded four hours into the future and 3,178 notes needed a retroactive timezone correction. primary ServiceChannel Status - Incorrect Work Order Timezone
Test classes that catch it
| Test class | Stage | Limitation | Basis |
|---|---|---|---|
| Configuration and environment tests | pre-deploy | A configuration test that only checks the timezone variable on the serving layer misses a code change that drops the timezone inside a warehouse driver connection. | cited in [2] |
| Integration tests | pre-deploy | An integration test against one warehouse connection type misses the same fault on a second connection type, and it misses a timezone variable left NULL only in the changed serving layer. | by design analysis |
| Synthetic monitoring | post-deploy | A synthetic check that runs as an account in the default timezone never sees the wrong results, because only accounts with a custom timezone are affected. | by design analysis |
Risk
- Likelihood: not published (1 public report in 5 years)
- Impact: high (2 of 2 reports: data)
| Accepted public reports | 2 |
|---|---|
| Published in the last 5 years | 1 |
| Impact stated: data | 2 |
Pre-release checklist
- PR-01
- PR-02
- PR-03
- PR-04
- PR-05
- PR-06
First 30 minutes
- FM-01
- FM-02
- FM-03
- FM-04
- FM-05
- FM-06
Download the checklist
What catches this: catalogue entries
Listed because their own documentation or site names configuration and environment tests, integration tests, synthetic monitoring on the verification date. Alphabetical. Not a recommendation.
Tools whose documentation names these test classes
- Checkly synthetic source verified 2026-10-21
- Datadog Synthetic Monitoring synthetic source verified 2026-10-21
- Flipt config source verified 2026-10-21
- Grafana Cloud Synthetic Monitoring synthetic source verified 2026-10-21
- Grafana k6 synthetic source verified 2026-10-21
- GrowthBook config source verified 2026-10-21
- Hoverfly integration source verified 2026-10-21
- LaunchDarkly config source verified 2026-10-21
- PostHog config source verified 2026-10-21
- Postman integration source verified 2026-10-21 synthetic source verified 2026-10-21
- Serenity BDD integration source verified 2026-10-21
- Testcontainers integration source verified 2026-10-21
- TestNG integration source verified 2026-10-21
- Unleash config source verified 2026-10-21
- Uptime Kuma synthetic source verified 2026-10-21
Providers whose site names these test classes
- andagon people GmbH integration source verified 2026-10-21
- Appmatics integration source verified 2026-10-21
- AQA Masters integration source verified 2026-10-21
- Cleverix integration source verified 2026-10-21
- Crestech Software Systems integration source verified 2026-10-21
- DeviQA integration source verified 2026-10-21
- Invensis Technologies integration source verified 2026-10-21
- Outpost QA integration source verified 2026-10-21
- Q-Centric GmbH integration source verified 2026-10-21
- QA Madness integration source verified 2026-10-21
- QA Mentor integration source verified 2026-10-21
- QAwerk integration source verified 2026-10-21
- Quality Island integration source verified 2026-10-21
- Soflab Technology integration source verified 2026-10-21
- SQA - Software Quality Assurance S.A. integration source verified 2026-10-21
- SunTec India integration source verified 2026-10-21
- TestFort integration source verified 2026-10-21
- Testhouse integration source verified 2026-10-21
- Testing IT integration source verified 2026-10-21
- TestMatick integration source verified 2026-10-21
- Testscenario integration source verified 2026-10-21
- Zoonou integration source verified 2026-10-21
Only on this page
Encoding or timezone shift sits in the data migrations group, yet neither report [1] nor report [2] involves a schema migration. One fault entered through a code change in a warehouse driver connection [1]. The other entered through an infrastructure change that left the timezone configuration variable NULL [2].
Because neither fault changes the schema, migration tests never run against it. One report counts 3,178 notes that needed a retroactive timezone correction after customers reported the wrong times [2].
Related incidents
- API key rotation breaks integrations A key rotation invalidates partner integrations that were not notified.
- Schema drift between services Two services expect different versions of a shared schema after one is deployed without the other.
- Config change without restart semantics A config edit is applied to some instances and not others, producing inconsistent behaviour.
- API version dropped while old app live The backend removes an API version still used by installed app versions.
- Asset cache serves old bundle Users receive an old JavaScript bundle with a new API and the app errors.
Questions
What causes encoding or timezone shift?
In the 2 public reports, one cause is a code change that stopped setting the timezone in warehouse drivers [1]. The other is an infrastructure change that left the timezone configuration variable NULL [2].
What are the symptoms of encoding or timezone shift?
Users see wrong results from timezone-based calculations and notes stamped 4 hours in the future. The test suite can show no application error while the wrong timestamps are written [2].
Why did tests not catch encoding or timezone shift?
One report states that the test exit criteria did not check that timestamps were recorded in the right timezone [2]. Only accounts with a custom timezone saw wrong results in the other report [1].
Which test class catches encoding or timezone shift, and what does it miss?
Configuration tests carry a cited basis from one report [2], while integration tests and synthetic monitoring are listed by design. A configuration test on the serving layer misses a timezone dropped inside a warehouse driver.
How long did it take to detect encoding or timezone shift in the public reports?
A failing internal backend health test flagged one case 32 minutes after the production change [1]. The other cases were reported by customers.
Should a team roll back or fix forward when encoding or timezone shift happens?
Both reports rolled the change back [1] [2]. Report [2] then applied a retroactive timezone update to 3,178 notes. Checklist item FM-05 applies the correction only after the rollback stops new wrong writes.
Release Incident Playbook (2026). Encoding or timezone shift: symptoms, cause, and the test that catches it, content version 1.0.0. https://releasefailures.com/incidents/encoding-or-timezone-shift/. Accessed 2026-10-21.