August 30, 2021
Warning:
This patch release has been withdrawn due to this technical advisory. All the changes listed as part of this release will be in the next release. Do not upgrade to this release.
- For a comprehensive summary of features in v21.1, see the v21.1 GA release notes.
- To upgrade to v21.1, see Upgrade to CockroachDB v21.1.
Get future release notes emailed to you:
Downloads and Docker image
Warning:
This release was withdrawn, and we've removed the links to the downloads and Docker image.
Security updates
- The node status retrieval endpoints over HTTP (
/_status/nodes
,/_status/nodes/<N>
, and the DB Console/#/reports/nodes
) have been updated to require theadmin
role from the requesting user. This ensures that operational details such as network addresses and command-line flags do not leak to unprivileged users. #67068
General changes
- A recent release removed parts of some queries from the debugging traces of those queries. This information (i.e. the execution of some low-level RPCs) has been re-included in the traces. #68923
Enterprise edition changes
- The
kafka_sink_config
changefeed option can now includeRequiredAcks
. #69015 - Added a new per-node changefeed configuration
changefeed.node_sink_throttle_config
that can be used to throttle the rate of emission from the memory buffer thus making it possible to limit the emission rate from changefeeds. #68628
SQL language changes
- Added a new
EXPLAIN
flag,MEMO
, to be used withEXPLAIN (OPT)
. When theMEMO
flag is passed, a representation of the optimizer memo will be printed along with the best plan. TheMEMO
flag can be used in combination with other flags such asCATALOG
andVERBOSE
. For example,EXPLAIN (OPT, MEMO, VERBOSE)
will print the memo along with verbose output for the best plan. #67778 - Some queries with lookup joins and/or top K sorts are now more likely to be executed in a "local" manner with the
distsql=auto
session variable when the newly introducedsql.distsql.prefer_local_execution.enabled
cluster setting is set totrue
(false
is the default). #68613
Operational changes
- Introduced the
bulkio.index_backfill.checkpoint_interval
cluster setting to control the rate at which backfills checkpoint their progress. Useful for controlling the backfill rate on large tables. #68287
Command-line changes
cockroach debug zip
no longer retrieves database and table details into separate files. The schema information is collected by means ofsystem.descriptors
andcrdb_internal.create_statements
. #68984
DB Console changes
- Added a new column picker on the Statements and Statements Details pages to select which columns to display in the statements table. Includes a new database column option for database name information, which is hidden by default on the Statements page. #68294
- Fixed the Transactions page to show the correct value for implicit transactions. #68294
- Statements Details, Statements, and Transactions pages now display information about the node and region on which a statement was executed. #68317
- Fixed tooltips behavior on the Sessions, Statements, and Transactions pages. #68474
Bug fixes
- Fixed missing foreign key checks in some cases when there are multiple checks and the inserted data contains a
NULL
for one of the checks. #68520 - Fixed a bug where using
ST_segmentize
on coordinates that are infinite would error with a crash. #67848 - Fixed the
COPY CSV
command so that it handles multiple records separated by newline characters. #68623 - Fixed a bug that caused incorrect query results when querying tables with multiple column families and unique secondary indexes. The bug only occurred if 1) vectorized execution was enabled for the query, 2) the query scanned a unique secondary index that contained columns from more than one column family, and 3) the rows fetched by the query contained
NULL
values for some of the indexed columns. This bug was present since version v20.1. #68238 - Fixed a crash in the
/debug/closedts-{sender,receiver}
advanced debug pages if the last message of the closed timestamp side transport buffer was removed before rendering. #68669 - Fixed an issue where terminating a CockroachDB process early in its startup routine might cause it to fail to start again, falsely reporting write-ahead log corruption. #68897
- Fixed a regression in the optimizer's cost model that could cause it to choose sub-optimal plans when choosing between two non-unique index scans with different numbers of columns per index. #68991
- Fixed a bug where CockroachDB could incorrectly evaluate
LIKE
expressions when the pattern contained the escape characters\
if the expressions were executed via the vectorized execution engine. #68353 - File logs now respect the
max-group-size
configuration parameter again. This parameter had incorrectly become ignored in v21.1, resulting in arbitrarily large log directories. #69007 - Fixed a bug in
EXPORT
where concurrent exports could overwrite each other. #68392
Performance improvements
- Jobs no longer hold exclusive locks during the duration of their checkpointing transactions which could result in long wait times when trying to run
SHOW JOBS
. #68244 - Lookup joins on indexes with virtual columns are now considered by the optimizer. This should result in more efficient queries in many cases. Most notably, post-query uniqueness checks for unique indexes on virtual columns in
REGIONAL BY ROW
tables can now use the unique index rather than perform a full-table scan. #68423
Contributors
This release includes 40 merged PRs by 26 authors.