{
  "slug": "compensation-log-record",
  "term": "Compensation log record",
  "aliases": [
    "CLR"
  ],
  "definition": "An ARIES compensation log record describes a rollback action for redo and records where undo processing should continue.",
  "note": "CLRs are redo-only: recovery does not undo the compensation itself. PrevLSN follows the transaction's log chain; UndoNxtLSN bypasses already compensated work. A durable CLR can survive while the corresponding page update does not; redo restores that update before rollback continues. If the CLR was volatile and is lost, that progress is not preserved. These are original ARIES semantics, not a claim that every WAL engine uses CLRs. [aries] [aries-beyond] The companion's 12-state example is a single-page synthetic model, not a hardware crash test. [hesela-wal]",
  "related": [
    "write-ahead-log",
    "log-sequence-number",
    "page-lsn",
    "fuzzy-checkpoint"
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "aries",
      "title": "Mohan, Haderle, Lindsay, Pirahesh and Schwarz. ARIES. ACM TODS 17(1), 1992, sections 3, 5.2 and 6.2-6.3.",
      "url": "https://www.cs.cmu.edu/~15849g/readings/mohan92.pdf",
      "accessed": "2026-10-15"
    },
    {
      "id": "aries-beyond",
      "title": "C. Mohan. Repeating History Beyond ARIES. VLDB 1999, sections 3.2.1-3.2.2.",
      "url": "https://www.vldb.org/conf/1999/P1.pdf",
      "accessed": "2026-10-15"
    },
    {
      "id": "hesela-wal",
      "title": "Hesela: ARIES rollback progress, with a synthetic executable trace",
      "url": "https://hesela.com/analyses/wal-checkpoints-torn-pages/#aries-rollback",
      "accessed": "2026-10-15"
    }
  ],
  "updated": "2026-10-15"
}
