March 30, 2020
Warning:
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.
Get future release notes emailed to you:
Downloads
Docker image
$ docker pull cockroachdb/cockroach-unstable:v20.1.0-beta.4
Security updates
- The
admin
role is now required to use the newcockroach nodelocal upload
functionality. #46265
Enterprise edition changes
- Incremental
BACKUP
can now quickly skip unchanged data. This makes frequent incremental backups 10-100x faster depending on data size and frequency. #46390
SQL language changes
- Added
get_bits()
andset_bit()
builtin functions for bits. #45957 - Modified the
get_bits()
andset_bit()
builtin functions to support byte array. #46380 - Arrays can now be compared using the
<
,<=
,>
, and>=
operations. #46254 EXPLAIN BUNDLE
now contains distsql diagrams. #46225- Previously, when creating a non-partitioned index on a partitioned table with the
sql_safe_updates
session variable set totrue
, CockroachDB would error out. CockroachDB now sends a NOTICE stating that creating a non-partitioned index on a partitioned table is not performant. #46223 - Added new internal tables
crdb_internal.node_transactions
andcrdb_internal.cluster_transactions
that contain some metadata about active user transactions. #46206 - Added the column
txn_id
to thecrdb_internal.node_queries
andcrdb_internal.cluster_queries
tables. These fields represent the transaction ID of each query in each row. #46206 - Columns in the process of being added to or removed from a table are now always set to their default or computed value if another transaction concurrently
INSERT
s,UPDATE
s, orUPSERT
s a row. This fixes an issue where a column being backfilled would not get properly set by concurrent transactions. #46285 ROLLBACK TO SAVEPOINT
(for either regular savepoints or "restart savepoints" defined withcockroach_restart
) now causes a "feature not supported" error after a DDL statement in a HIGH PRIORITY transaction, in order to avoid a transaction deadlock. See issue #46414 for details. #46415- Added support for the
stddev_samp
aggregate builtin function, which is the same asstddev
(according to PostgreSQL documentation, the latter is actually the historical alias of the former). #46279
Command-line changes
- Ensured the correct error messages are shown to the user when using
cockroach nodelocal upload
. #46311
Bug fixes
- Fixed a crash when
IMPORT
ing a table without a table definition. #46193 - Added support for queries with qualified stars that refer to tables in outer scopes. #46233
- Fixed an incorrect "no data source matches prefix" error in some cases involving subqueries that use views. #46226
- Previously, the
experimental_strftime
andexperimental_strptime
builtin functions used the non-POSIX standard%f
for nanosecond display. However, as CockroachDB only supports up to microsecond precision and Python'sstrftime
has%f
to microsecond, we have similarly switched %f to use microsecond instead of nanosecond precision. #46263 - Added a check that detects invalid sequence numbers in the RocksDB write-ahead log and returns an error during node startup instead of applying the invalid log entries. #46328
- Follower reads that hit intents no longer have a chance of entering an infinite loop. This bug was present in earlier versions of the v20.1 release. #46234
- Fixed an internal error that could occur when an aggregate inside the right-hand side of a
LATERAL
join was scoped at the level of the left-hand side. #46227 - Fixed an error that incorrectly occurred when an aggregate was used inside the
WHERE
orON
clause of a subquery but was scoped at an outer level of the query. #46227 - Reverted performance improvements to incremental
BACKUP
s until a potential correctness issue is addressed. #46385 - CDC no longer combines with long running transactions to trigger an assertion. Previously, this could crash a server if the right sequence of events occurred. This was typically rare, but was much more common when CDC was in use. #46391
- Fixed a race in the vectorized execution engine. #46360
- Fixed a rare bug causing transactions that have performed schema changes to deadlock after they restart. #46384
Doc updates
- Added docs for
cockroach nodelocal upload
, which uploads a file to the external IO directory on a node's (the gateway node, by default) local file system. #6871 - Added guidance on using hash-sharded indexes. #6820
- Updated production checklist and Azure deployment guides to recommend compute-optimize F-series VMs in Azure deployments. #7005
Contributors
This release includes 46 merged PRs by 20 authors. We would like to thank the following contributors from the CockroachDB community:
- Amit Sadaphule (first-time contributor)
- Andrii Vorobiov
- Marcus Gartner (first-time contributor, CockroachDB team member)
- abhishek20123g