What's New in v20.1.9

This version of CockroachDB is no longer supported. For more details, see the Release Support Policy.

December 1, 2020

This page lists additions and changes in v20.1.8 since v20.1.7.

  • For a comprehensive summary of features in v20.1, see the v20.1 GA release notes.
  • To upgrade to the latest production release of CockroachDB, see this article.

A denial-of-service (DoS) vulnerability is present in CockroachDB v20.1.0 - v20.1.10 due to a bug in protobuf. This is resolved in CockroachDB v20.1.11 and later releases. When upgrading is not an option, users should audit their network configuration to verify that the CockroachDB HTTP port is not available to untrusted clients. We recommend blocking the HTTP port behind a firewall.

For more information, including other affected versions, see Technical Advisory 58932.


Cockroach Labs has discovered a bug relating to incremental backups, for CockroachDB v20.1.0 - v20.1.13. If a backup coincides with an in-progress index creation (backfill), RESTORE, or IMPORT, it is possible that a subsequent incremental backup will not include all of the indexed, restored or imported data.

Users are advised to upgrade to v20.1.15 or later, which includes resolutions.

For more information, including other affected versions, see Technical Advisory 63162.

Get future release notes emailed to you:


Docker image

$ docker pull cockroachdb/cockroach:v20.1.9

Enterprise edition changes

SQL language changes

  • Parsing intervals with fractional years now produces intervals with no more precision than months, to match the behavior of PostgreSQL. #56247
  • Table names are now listed before index names in EXPLAIN (DISTSQL) diagram output. Previously, the diagrams used index@table, and now they use table@index. #56396

Bug fixes

  • Changefeeds were previously incompatible with the vectorized execution engine, and creating changefeeds with the vectorized engine enabled could cause a server to hang. This could happen in v20.2 releases with SET vectorize_row_count_threshold=0;, and in v20.1 releases with SET vectorize=on. This bug is now fixed. #55754
  • Fixed possible write skew in distributed queries that have both zigzag joins and table readers with the zigzag joins reading keys not read by the table readers. #55874
  • CockroachDB previously could return incorrect results when computing aggregation functions when some of the functions contained a DISTINCT clause and some did not. This bug is now fixed. #55873
  • CockroachDB previously could incorrectly evaluate the sqrdiff function when used as a window function in some cases. This bug is now fixed. #55999
  • Fixed a top-level relational expression cannot have outer columns error in some queries that involve WITH. #56086
  • Fix a bug causing IMPORTs of malformed Avro records to hang forever. #56097
  • Fixed a bug causing CockroachDB to crash when a BACKUP query was unable to count the total nodes in the cluster. #56096
  • Fixed an error that could occur at the end of a restoration of a backup that had ongoing schema change jobs. #56021
  • Previously, cluster backups created in releases before v20.2 could not be restored in 20.2 clusters, and would produce an error message about failing to restore a system table. This bug is now fixed. #56024
  • Options set on users (e.g., ALTER USER <username> CREATEDB) were not included in cluster backups and thus not restored. Role options are now included in cluster backups. #55442
  • Fixed a bug that did not respect disabling protected timestamp settings with zero values. #56454
  • Fixed a bug which that result in a failed restore when restoring into a database with a different set of privileges than the backup privileges. #55880
  • Fixed a race between job completion and sending the result of the job to the client. CockroachDB now sends results to the client after a job completes. #56146
  • In v20.1.8, we attempted to fix the age() function's normalization of H:M:S input into years, months, and days. However, the v20.1.8 fix was broken for values greater than 1 month, and for a::timestamp(tz) - b::timestamp(tz) expressions. This bug has been resolved. commit 59b2bc218


This release includes 22 merged PRs by 12 authors. We would like to thank the following contributors from the CockroachDB community:

  • Max Neverov (first-time contributor)
YesYes NoNo