{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-12",
  "slug": "linearizability",
  "term": "Linearizability",
  "aliases": [
    "Linearizable consistency"
  ],
  "definition": "Linearizability requires concurrent operations on an object to behave as a legal sequential execution that preserves the real-time order of non-overlapping operations.",
  "note": "Each operation can be placed at a point between invocation and response. An overlapping write may finish before a read responds without having to precede that read in the legal order. Separate linearizable reads and writes do not make a client's read-modify-write sequence atomic. Persistence across failures needs an explicit recovery contract.",
  "related": [
    "serializability",
    "read-your-writes",
    "monotonic-reads",
    "compare-and-swap"
  ],
  "citations": [
    {
      "id": "herlihy-wing",
      "title": "Maurice P. Herlihy and Jeannette M. Wing. Linearizability: A Correctness Condition for Concurrent Objects. ACM TOPLAS 12(3), 1990, sections 2.2 and 3.3.",
      "url": "https://www.cs.cmu.edu/~wing/publications/HerlihyWing90.pdf",
      "accessed": "2026-10-12"
    },
    {
      "id": "etcd-guarantees",
      "title": "etcd v3.6 API guarantees: durability, strict serializability and operation completion.",
      "url": "https://etcd.io/docs/v3.6/learning/api_guarantees/",
      "accessed": "2026-10-12"
    },
    {
      "id": "hesela-consistency",
      "title": "Storage consistency: ordering is not a transaction or a durability promise",
      "url": "https://hesela.com/analyses/storage-consistency-ordering/",
      "accessed": "2026-10-12"
    }
  ]
}
