What's New in v20.1.6

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

September 24, 2020

This page lists additions and changes in v20.1.6 since v20.1.5.

  • 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.6

SQL language changes

  • The concurrency of the evaluation of UNION ALL queries has been reduced. Previously, such queries could crash a server (in extreme cases, due to memory shortage). That bug is now fixed, at the expense of possible minor reduction in performance. #53444

Bug fixes

  • The cluster Node Map and the debug page for cluster locality reports are now again available to non-admin users. #53331
  • Previously, CockroachDB could return incorrect results when performing LEFT ANTI hash joins when the right equality columns formed a key and the query was executed with the vectorized engine. This bug has been fixed. #53346
  • Fixed a rare internal error related to foreign key checks. #53648
  • CockroachDB could previously crash when evaluating queries containing window functions with the GROUPS framing mode when <offset> FOLLOWING boundary was used and the offset was a very large value such that it could result in an integer overflow. This is now fixed. #53755
  • Fixed the "no binding for WithID" internal error when using WITH RECURSIVE in queries with placeholders. #54037
  • A change in v20.1 caused a certain class of bulk UPDATE and DELETE statements to hang indefinitely if run in an implicit transaction. We now break up these statements to avoid starvation and prevent them from hanging indefinitely. #53561
  • Fixed a bug that could cause garbage collection jobs for tables dropped as part of a DROP DATABASE CASCADE to never complete. #54129
  • Fixed a bug that caused a crash when using a RANGE-mode window function with an offset (e.g, OVER (PARTITION BY b ORDER BY a RANGE 1 PRECEDING)). #54075
  • Fixed a bug that could cause the asynchronous migration to upgrade jobs from v19.2 to fail to complete and keep retrying indefinitely upon encountering a dropped database where some, but not all, of the tables have already been cleaned up. This bug can only occur if an upgrade to v20.1 happened while a database was in the process of being dropped or a set of tables was being truncated. #51176
  • Asynchronous schema change migrations now mark a job as failed instead of retrying indefinitely when a descriptor referenced by a schema change job does not exist. #51176
  • Fixed a potential race condition in the schema change job migration from v19.2 that could cause spurious errors and retries due to the wrong transaction being used internally. #51176
  • Fixed a bug that allowed new types to be used in an array type during a version upgrade. #53962
  • Database creation and deletion was previously not correctly tracked by revision_history cluster backups. This is now fixed. #53806
  • Fixed two bugs that caused CockroachDB to return errors when attempting to add constraints in the same transaction in which the table was created:
    1. Adding a NOT NULL constraint no longer fails with the error check ... does not exist.
    2. Adding a NOT VALID foreign key constraint no longer fails with the internal error table descriptor is not valid: duplicate constraint name. #54288
  • Fixed a bug that could lead to out-of-memory errors when dropping large numbers of tables at a high frequency. #54285
  • CockroachDB could previously crash in rare circumstances when many queries running in the cluster were consuming a lot of memory and at least one query was running through the vectorized execution engine. This is now fixed. #54406
  • In releases v20.1.4 and v20.1.5, CockroachDB might finish UPSERT operations too early. A simple UPSERT would correctly insert up to 10,000 rows and then ignore the rest. An UPSERT with a RETURNING clause would process up to 10,000 rows but return no rows. For more information, see Technical Advisory 54418. #54418


This release includes 27 merged PRs by 15 authors.

YesYes NoNo