June 29, 2020
This page lists additions and changes in v20.1.3 since v20.1.2.
- 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.
Get future release notes emailed to you:
Downloads
Docker image
copy
$ docker pull cockroachdb/cockroach:v20.1.3
Security updates
Enterprise edition changes
- Full cluster restore is now more resilient to transient transaction retry errors during restore. #50004
- The default flush interval for changefeeds that do not specify a
RESOLVED
option is now 5s instead of 200ms to more gracefully handle higher-latency sinks. #50251
SQL language changes
- Previously, using
infinity
evaluated to a negative, i.e., "-292277022365-05-08T08:17:07Z". This has been fixed to be the maximum supported timestamp in PostgreSQL that is not infinity. Likewise,-infinity
is the smallest supported value. Note this does currently does not behave exactly likeinfinity
in PostgreSQL (this is a work in progress and may be resolved later). #50365
Bug fixes
- Previously,
extract(epoch from timestamptz)
from a session time zone not in UTC would return a value which was incorrectly offset by the session time zone. This is now fixed. #50075 - Previously, the parallel importer could get stuck due to a race between emitted import batches and checking for context cancellation (either due to an unforeseen error, or due to explicit context cancallation). This is now fixed. #50089
- Previously, using separate groups for producer and consumer could lead to a situation where consumer would exit (due to an error, or explicit context cancellation) without the producer realizing, leading to a deadlock. Producer and consumer are now correctly linked during data import. #50089
- Casting to width-limited strings now works correctly for strings containing Unicode characters. #50159
- Fixed some cases in which casting a string to a width-limited string array was not truncating the string. #50168
- Fixed a bug in which restarting CockroachDB with the Pebble storage engine after a crash during write-ahead logging could, in some rare cases, return an "unexpected EOF" error. #50282
- Previously, the Admin UI Statements page was incorrectly displaying information about whether or not a statement was distributed (it was always
Yes
). This is now fixed. #50347 - Fixed a RocksDB bug that could result in inconsistencies in rare circumstances. #50397
- Fixed a bug that broke the data distribution Advanced Debug page in the Admin UI on clusters that had upgraded from 19.2 to 20.1. #49987
- Previously, when a changefeed would fail to set up its flows due to a node draining, the changefeed would be marked as failed. These errors are now retriable. #50088
Performance improvements
- CockroachDB now optimizes reading of files when doing backups and storage-level compactions of files. This should deliver a performance improvement for some read-heavy operations on an IOPS-constrained device. #50105
- Limited
SELECT
statements now do a better job avoiding unnecessary contention withUPDATE
andSELECT FOR UPDATE
statements. #50119 - Improved the optimizer's estimation of the selectivity of some filters involving a disjunction (
OR
) of predicates over multiple columns. This results in more accurate cardinality estimation and enables the optimizer to choose better query plans in some cases. #50470
Build changes
- Release Docker images are now built on Debian 9.12. #50482
Doc updates
- Updated guidance on node decommissioning. #7304
- Added node density guidance to the Production Checklist. #7514
- Renamed "whitelist/blacklist" terminology to "allowlist/blocklist". #7535
- Updated the Releases navigation in the sidebar to expose the latest Production and Testing releases. #7550
- Fixed scrollbar visibility on Chrome. #7487
Contributors
This release includes 22 merged PRs by 15 authors.