Evidence ledger 26 sources Checked 10 Sep 2026

Evidence ledger

One row per claim in When the answer is wrong, not late: ten years of CockroachDB read from its own record: who published it, what grade it carries, when it was written, when the link was last checked, and the quote or figure it rests on. Nothing in the guide is cited from memory, so anything not in this table is not in the guide.

Field guide: When the answer is wrong, not late: ten years of CockroachDB read from its own record. Research date: 2026-09-10. Every artefact below was fetched during the session, either with git clone --depth=1 --filter=blob:none --sparse or with a direct curl to raw.githubusercontent.com. Quotes are copied, not paraphrased.

A note on the shape of this corpus. The session's network policy reached code hosts only (raw.githubusercontent.com, github.com over git, gitlab.com). Engineering blogs, conference talks, papers and vendor case studies were unreachable, so this ledger contains none. Everything here is a repository artefact published by the vendor about its own product, plus two peer vendors' public design directories used for contrast. Where a motive for a decision is published only on the company blog, the guide says the motive is unavailable rather than inferring it.

# Org Title Tier Published Checked URL Claim taken from it Supporting quote or figure
1 Cockroach Labs Technical Advisories index postmortem 2018-10 to 2026-05 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/index.md The corpus exists and is a list of dated disclosures with affected versions "Technical advisories report major issues with CockroachDB or the CockroachDB Cloud platform that may impact security or stability in production environments."
2 Cockroach Labs Advisory directory contents postmortem 2026-09-10 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a30821.md 73 advisory files exist; first is 2018-10-01, latest 2026-05-20 Derived: 74 .md files in src/current/advisories/, one of which is index.md; front matter field advisory_date on each
3 Cockroach Labs Advisory dates by year postmortem 2026-09-10 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a30821.md 1 (2018), 9 (2020), 13 (2021), 19 (2022), 20 (2023), 5 (2024), 2 (2025), 4 (2026); none in 2019 Derived by counting advisory_date front matter across the directory
4 Cockroach Labs Advisory 48860 postmortem 2020-05-20 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a48860.md A third-party storage engine defect caused irrecoverable corruption "A defect in RocksDB allowed it to violate its guarantees for snapshots, causing corruption under specific and extremely rare circumstances. This corruption is irrecoverable using regular node failover and must be addressed by restoring a backup when it occurs."
5 Cockroach Labs Advisory 71655 postmortem 2021-11-02 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a71655.md A join optimisation returned wrong results; the fix was to stop planning it "This bug was resolved in CockroachDB by PR 71758, which corrects the bug by no longer planning zigzag joins when they produce incorrect results."
6 Cockroach Labs Advisory 71655 (mitigation) postmortem 2021-11-02 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a71655.md The interim mitigation is to disable the optimisation, at a performance cost "To work around the issue, disable zigzag joins by running SET CLUSTER SETTING sql.defaults.zigzag_join.enabled = false. This may result in poorer performance in some cases."
7 Cockroach Labs Advisory 84144 postmortem 2022-07-19 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a84144.md Adding a locality dimension created a second reference graph that went stale "The problem occurs when dropping a region: the drop may proceed when instead it should have yielded an error. Any subsequent attempt at changing the locality of the table will fail with an internal error."
8 Cockroach Labs Advisory 123371 postmortem 2024-06-17 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a123371.md A de-duplication optimisation caused silent omissions in a change feed "This bug was caused by a code change to reduce the number of duplicates sent during an initial scan ... would sometimes incorrectly forward the progress of every span a node was tracking to the lowest checkpoint timestamp when some spans may not have been scanned yet."
9 Cockroach Labs Advisory 123371 (symptom) postmortem 2024-06-17 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a123371.md Detection requires counting rows; nothing errors "Initial scan completes but the emitted row count is less than the row count of the targeted tables."
10 Cockroach Labs Advisory 131639 postmortem 2024-10-08 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a131639.md Slow disks plus lease promotion produced two leaseholders and lost writes "In situations where the block device backing a store is experiencing intermittent slowness over an extended period of time, the expiration time for the lease transferred to the node with the slow stores can move back in time during this promotion ... the range can have two leaseholders."
11 Cockroach Labs Advisory 131639 (scope) postmortem 2024-10-08 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a131639.md Only multi-range transactions were exposed "Transactions that write to a single range, or transactions that take advantage of the One-Phase-Commit (1PC) optimization, are not affected."
12 Cockroach Labs Advisory 162085 postmortem 2026-02-19 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a162085.md A bulk-delete optimisation racing range splits deleted live data; mitigation is to turn it off "This setting causes garbage collection to use individual key deletions rather than range deletions, avoiding the race condition entirely." (SET CLUSTER SETTING kv.gc.clear_range_min_keys = 0)
13 Cockroach Labs Advisory 161317 postmortem 2026-02-11 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a161317.md The data-in path can lose rows silently as late as 2026 Summary field: "A bug in CockroachDB's AVRO data import functionality can result in silent data loss when importing AVRO data"
14 Cockroach Labs Advisory 144650 postmortem 2025-04-28 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a144650.md Bulk writes could report success without ingesting everything Summary field: "In rare cases, some bulk write operations could succeed without ingesting all expected data."
15 Cockroach Labs Advisory mitigation sections, all 73 postmortem 2026-09-10 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/advisories/a48860.md 37 of 73 advisories offer only an upgrade; 10 offer a cluster setting; 20 an operational workaround Derived by classifying the ## Mitigation / ## Action Required section of each file. Example of upgrade-only: "There is no mitigation possible without an upgrade."
16 Cockroach Labs docs/RFCS directory adr 2015 to 2026 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/RFCS/README.md 194 files, 187 date-prefixed; per year 19, 28, 45, 13, 11, 18, 25, 20, 6, 1, 0, 1 (2015 to 2026) Derived from filename date prefixes in the sparse checkout of docs/ at master
17 Cockroach Labs docs/RFCS README adr between 2024-02 and 2024-05 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/RFCS/README.md The public design-review process was retired and moved to an internal wiki "This review process is deprecated. Existing docs are left for archival purposes. Our new process is described at https://cockroachlabs.atlassian.net/wiki/..."
18 Cockroach Labs docs/RFCS README at v23.2.0 and v24.1.0 source 2024 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/RFCS/README.md The change lands between those two releases (GA 2024-02-05 and 2024-05-20) At v23.2.0 the file still begins "# About This Directory This directory contains RFCs (design documents) that describe prop..."; at v24.1.0 it begins "This review process is deprecated."
19 Cockroach Labs Design record: parallel commit adr 2018-03-24 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/RFCS/20180324_parallel_commit.md Commit latency halved by writing a STAGED status in parallel "Cut the commit latency for the final batch of a transaction in half, from two rounds of consensus down to one"
20 Cockroach Labs Design record: parallel commit (motivation) adr 2018-03-24 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/RFCS/20180324_parallel_commit.md Consensus latency was treated as a competitive liability "Consensus latencies are the price CockroachDB pays for its consistency guarantees; they are not usually incurred on monolithic or NoSQL databases, and can be used as an argument against the use of CockroachDB."
21 Cockroach Labs Design record: range merges adr 2018-03-30 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/RFCS/20180330_range_merges.md Splits were irreversible until 2018, blocking load-based splitting "Splitting a range in a CockroachDB cluster today is irreversible." and "we're currently unwilling to introduce load-based splitting ... until we can clean up after ourselves when the load disappears."
22 Cockroach Labs Design record: range merges (disclaimer) adr 2018-03-30 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/RFCS/20180330_range_merges.md The record is annotated where implementation diverged from design "As expected, the implementation encountered serious hurdles with the initial design proposed here. This document is preserved in its original form for posterity."
23 Cockroach Labs Design record: follower reads adr 2018-06-03 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/RFCS/20180603_follower_reads.md Closed timestamps let followers serve consistent historical reads "The key enabling technology is the exchange of closed timestamp updates between stores."
24 Cockroach Labs Design record: Read Committed adr 2023-01-22 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/RFCS/20230122_read_committed_isolation.md Serializable-only was reversed for migration reasons, not performance "the main impetus behind the introduction of Read Committed is that the isolation level is expected to ease application migrations" and "While adding retry logic is merely inconvenient for new applications, it is often infeasible for existing applications."
25 Cockroach Labs Design record: shared-process deployments adr 2022-07-20 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/RFCS/20220720_shared_process_deployments.md The tenant boundary moved from process to address space "We propose to instantiate SQL servers for virtual clusters ... on-the-fly inside a pre-running CockroachDB process." and "SQL pods in CockroachCloud Serverless, as a way to separate the step of starting up a process and the step to select a tenant ID to serve. This will help towards lowering our initial connection latency"
26 Cockroach Labs Design record: distributed token bucket adr 2021-06-04 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/RFCS/20210604_distributed_token_bucket.md Tenant metering is in "request units" mapped to money; the motivating record is private "There will be a direct conversion from RUs to a dollar amount that is part of a tenant's bill." and the reference to "Managing Serverless Resource Usage" RFC "(internal-only)"
27 Cockroach Labs Design record: segmented storage (rejected) adr 2015-07-29 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/RFCS/20150729_segmented_storage.md The directory records rejected paths, with a status vocabulary Front matter - Status: rejected
28 Cockroach Labs Tech note: admission control adr undated in file 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/tech-notes/admission_control.md Queueing was taken away from the language runtime deliberately "for CPU the goal is to shift queueing from inside the goroutine scheduler, where there is no differentiation, into various admission queues, where we can differentiate"
29 Cockroach Labs Tech note: admission control (scope) adr undated in file 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/tech-notes/admission_control.md Memory is explicitly out of scope; stateful nodes are the justification "The notable omission here is memory as a bottleneck resource for admission control. The difficulty is that memory is non-preemptible" and "since CockroachDB has stateful nodes, individual node hotspots can develop that can last for some time"
30 Cockroach Labs Tech note: range merges adr 2019-04-10 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/tech-notes/range-merges.md The implementation reality was written up a year after the design "Last update: April 10, 2019"
31 Cockroach Labs .gitmodules at v19.1.0 source 2019-04-30 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/v19.1.0/.gitmodules Nine submodules including c-deps/rocksdb, snappy, cryptopp, googletest Paths listed: vendor, c-deps/jemalloc, c-deps/rocksdb, c-deps/snappy, c-deps/protobuf, c-deps/cryptopp, c-deps/googletest, pkg/ui/yarn-vendor, c-deps/krb5
32 Cockroach Labs .gitmodules at v21.1.0 source 2021-05-18 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/v21.1.0/.gitmodules Four C dependencies leave in one release Paths listed: vendor, c-deps/jemalloc, c-deps/protobuf, pkg/ui/yarn-vendor, c-deps/krb5, c-deps/libedit, c-deps/geos, c-deps/proj
33 Cockroach Labs .gitmodules at v26.1.0 source 2026-02-18 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/.gitmodules Four submodules remain, all of them libraries whose internals never had to be inspected Paths listed: c-deps/jemalloc, c-deps/krb5, c-deps/geos, c-deps/proj
34 Cockroach Labs pkg/storage/rocksdb.go at v20.2.0 source 2020-11-10 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/v20.2.0/pkg/storage/rocksdb.go Both engines shipped together for two releases File returns HTTP 200 at v20.1.0 and v20.2.0, HTTP 404 at v21.1.0; pkg/storage/pebble.go returns 200 from v20.1.0 onward
35 Cockroach Labs pkg/util/admission/work_queue.go source 2021-11-16 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/v21.2.0/pkg/util/admission/work_queue.go Admission control first ships in v21.2 First release tag at which the path resolves; absent at v21.1.0
36 Cockroach Labs pkg/kv/kvserver/storeliveness/support_manager.go source 2024-11-18 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/v24.3.0/pkg/kv/kvserver/storeliveness/support_manager.go Store liveness first ships in v24.3, one month after advisory 131639 First release tag at which the path resolves; absent at v24.2.0
37 Cockroach Labs unoptimized_query_oracle.go source 2022 (copyright) 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/pkg/cmd/roachtest/tests/unoptimized_query_oracle.go Differential testing runs each query with optimiser rules disabled and compares results Code: disableRules: "all", disableRuleProbability: 1.0 and disableRules: "half", disableRuleProbability: 0.5, over sqlsmith.RandTableSetupName, SeedMultiRegionSetupName, RandMultiRegionSetupName
38 Cockroach Labs costfuzz.go source 2022 (copyright) 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/pkg/cmd/roachtest/tests/costfuzz.go The oracles run on nine-node geo-distributed clusters Code: clusterSpec = r.MakeClusterSpec(9, spec.Geo(), spec.GatherCores()); first present at the v22.2.0 tag
39 Cockroach Labs tla-plus directory source 2026-09-10 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/tla-plus/StoreLiveness/StoreLiveness.tla Exactly two formal specifications exist, both for silent-failure protocols Directory contains ParallelCommits/ and StoreLiveness/ and nothing else
40 Cockroach Labs Generated cluster settings table source per release 2026-09-10 https://raw.githubusercontent.com/cockroachdb/cockroach/master/docs/generated/settings/settings.html Documented settings grew from 172 (v21.2.0) to 387 (v26.1.0) Row counts by tag: v21.2.0 172, v22.2.0 232, v23.2.0 276, v24.3.0 359, v25.4.0 382, v26.1.0 387. v19.1.0 (122) and v20.2.0 (91) use a different format and are not comparable
41 Cockroach Labs Release register (releases.yml) vendor 2016 to 2026 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/_data/releases.yml 636 entries, 393 production; production releases per year rise from 11 (2017) to 83 (2025) Derived from release_type: Production and release_date fields
42 Cockroach Labs Release register: GA dates vendor 2017 to 2026 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/_data/releases.yml Two major versions a year through 2023, then three or four v1.0 2017-05-10, v20.1 2020-05-12, v21.1 2021-05-18, v21.2 2021-11-16, v22.2 2022-12-06, v23.2 2024-02-05, v24.1 2024-05-20, v24.3 2024-11-18, v25.4 2025-11-03, v26.1 2026-02-18
43 Cockroach Labs Release support policy vendor 2026-09-10 2026-09-10 https://raw.githubusercontent.com/cockroachdb/docs/main/src/current/releases/release-support-policy.md The cadence change came with a two-class release model "There are two major release types: Regular and Innovation releases. Each offers a unique set of Support Types"
44 Cockroach Labs Pebble README source 2026-09-10 2026-09-10 https://raw.githubusercontent.com/cockroachdb/pebble/master/README.md The replacement inherited the file format and narrowed scope deliberately "Pebble inherits the RocksDB file formats and a few extensions" and "Pebble intentionally does not aspire to include every feature in RocksDB and specifically targets the use case and feature set needed by CockroachDB"
45 Cockroach Labs Pebble: differences from RocksDB source 2026-09-10 2026-09-10 https://raw.githubusercontent.com/cockroachdb/pebble/master/docs/rocksdb.md The technical case for divergence is documented per subsystem "Pebble inherits the RocksDB file formats, has a similar API, and shares many implementation details, but it also has many differences that improve performance, reduce implementation complexity, or extend functionality."
46 PingCAP TiDB design documents adr 2018 to 2026 2026-09-10 https://raw.githubusercontent.com/pingcap/tidb/master/docs/design/README.md A peer vendor's public design record is still active: 7 in 2024, 5 in 2025, 7 by August 2026 Derived from date-prefixed filenames in docs/design/; most recent is 2026-08-05-batch-analyze.md
47 Yugabyte YugabyteDB design documents adr 2026-09-10 2026-09-10 https://raw.githubusercontent.com/yugabyte/yugabyte-db/master/architecture/design/README.md A third vendor publishes design docs with a named owner per feature "Below you can find a table of high level and non-trivial features, relevant design documents for them, as well as the main reference engineers."
48 Yugabyte DocDB Raft enhancements adr undated (marked work in progress) 2026-09-10 https://raw.githubusercontent.com/yugabyte/yugabyte-db/master/architecture/design/docdb-raft-enhancements.md The storage-engine ownership decision was answered the other way by a peer "the storage layer of YugabyteDB is a distributed document store called DocDB. The architecture of DocDB is inspired by Google Spanner."

Tier mix

  • postmortem (vendor defect advisories): 15 rows across 12 distinct advisories
  • adr (design records, tech notes, peer design directories): 17 rows
  • source (code, dependency manifests, generated tables, tag probes): 13 rows
  • vendor (release register, support policy): 3 rows
  • blog, talk, paper, casestudy: zero, and the absence is stated in the guide. Not because none exist, but because the network policy for this session could not reach them.

What the corpus cannot tell you

  1. Blast radius and detection lag. No advisory states how long a defect existed before discovery, how it was found, or how many clusters were affected. The guide says so explicitly.
  2. Motive for the storage-engine replacement. The repository states the scope of Pebble, not the reason for building it. That reasoning was published on the company blog, which was unreachable.
  3. Cloud service incidents. These are product defect advisories, not service outage postmortems. Nothing in this corpus describes an outage of the managed service.
  4. Whether the wrong-answer wave stopped because of the oracles. The timing is suggestive and the guide marks it as inferred. No document in the corpus claims the causal link.
  5. Disclosure policy changes. A drop in advisories from 20 (2023) to 2 (2025) could be fewer defects, fewer disclosures, or a changed threshold for publishing. The corpus does not say.