OhMyBug

concurrency/state

Key Omits A Dimension

#53uncommon98 sightingsfirst seen August 2026

What goes wrong

A cache key, dedup key, in-flight guard, grouping bucket or paging cursor is built from fewer fields than the things it must tell apart (tenant, scope, destination, the full sort order), so two different things share one key: one user's data is served to another, one item's guard blocks an unrelated item, or rows at a page boundary are skipped.

Example

A query cache keyed on the user id but not the organisation id: a user who belongs to two organisations opens the second one and sees the first organisation's data.

Not to be confused with

The key is too coarse; not a key with one field too many (Over-Partitioned Cache Key), not a cache never refreshed after a write (Missed Snapshot Refresh), and not a correctly keyed guard released too early.

Discovered by

Field notes · 27