Skip to main content

Time Travel

Thermocline supports point-in-time reads using MVCC timestamps.

Supported Entry Points

  • readConcern.atClusterTime on find/aggregate
  • $timeTravel aggregation stage parsing in storage-engine

Primary code anchors:

  • services/storage-engine/src/mvcc/time_travel.rs
  • services/storage-engine/src/mvcc/time_travel_agg.rs
  • services/gateway/src/proxy/handler/find.rs

Example (Raw Command)

db.runCommand({
find: "orders",
filter: { customerId: "c1" },
readConcern: { level: "snapshot", atClusterTime: Timestamp(1700000000, 1) }
})

Tier Notes

Hot-tier MVCC behavior is authoritative. Cold/federated behavior for some advanced aggregate combinations can vary by query shape and current pushdown coverage. Validate critical workloads with E2E matrix tests in tests/e2e/matrix/time_travel/.