What's New in v19.2.0-alpha.20190805

August 5, 2019

Warning:

A denial-of-service (DoS) vulnerability is present in CockroachDB v19.2.0 - v19.2.11 due to a bug in protobuf. This is resolved in CockroachDB v19.2.12 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

icon/buttons/copy
$ docker pull cockroachdb/cockroach-unstable:v19.2.0-alpha.20190805

Enterprise edition changes

  • Added a skip_missing_views option for RESTORE to skip restoring views which cannot be restored because their dependencies are not being restored at the same time. #38597

SQL language changes

  • Added support for a table reader that performs a loose index scan over the underlying table. The index scan table reader uses information about the index being scanned to skip unnecessary rows while scanning the table, allowing for some optimizations to be used for some types of queries. #38216
  • Enabled automatic detection of compression schemes on filenames in IMPORT that have parameters after the path. #38521
  • Added check_constraints table to the information_schema database. #38545
  • Added vectorized support for the IN selection operator. #38546
  • Made some pgwire error codes for binary parameter decoding better match Postgres. #38365
  • Added support for projection of the IN operator. #38613
  • EXPLAIN returns more information about lookup joins. #38748
  • The first statement of a transaction will no longer return a transaction retry error if it is an UPDATE or DELETE (this was already true for INSERT). #38668
  • Non-fatal errors updating jobs while dropping a table are now ignored. #38617
  • Added support for NOT VALID option for Foreign Key constraints. #38663
  • Added cluster setting sql.stats.histogram_collection.enabled to enable collection of histograms during statistics collection. #38812
  • Common Table Expressions (CTEs) may now be referenced from multiple locations in a query. #38670
  • CREATE TABLE AS now allows user-defined primary keys and column families. #38904, #38589
  • EXPLAIN (OPT,ENV) now returns a URL with the data encoded in the fragment portion. Opening the URL shows a page with the decoded data. Note that the data is processed in the local browser session and is never sent out. #38973

Command-line changes

  • cockroach dump will now more clearly refer to issue 37768 when it encounters a table with no visible columns, which (currently) cannot be dumped successfully. #38725
  • CockroachDB now requires square brackets to specify IPv6 addresses in --join, --host, --listen-addr and similar flags, for example --listen-addr=[::1]. The syntax without square brackets had been deprecated since CockroachDB 2.1. #38924

Admin UI changes

  • Dashboard graphs now offer a "Last 2 days" option in the time selector. #38852
  • Corrected the units displayed for the MVCC Intent Age and the MVCC GC Bytes Age fields in the Range Status page. #38283

Bug fixes

  • The ALTER PARTITION x OF INDEX y CONFIGURE ZONE USING syntax no longer erroneously modifies the entire index's zone configuration. #38423
  • Fixed an issue that prevented restoring some backups if they included tables that were partitioned by columns of a certain types while also interleaved by child tables. #38341
  • Restoring multi-line CLI histories in the SQL shell no longer produces terminal anomalies when the cursor is on the last line of the screen. #38505
  • Fixed a panic where generators in an aggregate function were not appropriately rejected. #38554
  • Handled database_name and composite primary key for UNSPLIT ALL. #38338
  • Ranges consisting of only one row (and historical versions of that row) are now correctly up-replicating. #38529
  • Nodes that have been down now recover more quickly when they rejoin, assuming they weren't down for much more than the value of the server.time_until_store_dead cluster setting (which defaults to 5 minutes). #38484
  • cockroach sqlfmt no longer strips ORDER BY from aggregates. #38623
  • Corrected issue that caused certain plans that contained both offsets and limits to return more rows than desired. #38667
  • Fixed a bug that prevented inverted indexes from being created on JSON columns containing NULL values. #38738
  • Transaction retries in schema changes are again handled correctly. #38668
  • On macOS, the server process can once again start in environments where the kern.maxfilesperproc sysctl has been lowered. #38472
  • Fixed a bug where dropping an index that a foreign key depends on could cause an inconsistent table state if the schema change were rolled back. #38783
  • Fixed an issue where Cost-based optimizer-planned upserts that used lookup join that were run during column mutations on the table being upserted into could cause crashes or other issues. #38637
  • Fixed incorrect results, or "unordered span" errors, in some cases involving exclusive inequalities with non-numeric types. #38880
  • Prevented OOM conditions during lookup joins between tables with a very large n:1 relationship. #38837
  • sum_int() now errors on overflow instead of silently wrapping. #38921
  • Fixed bug in the optimizer causing a bad index for lookup join in some cases. #39016
  • Backfills are no longer performed when a user explicitly sets the default value of a new column to be NULL. #38910

Performance improvements

  • Introduced new concurrent Raft proposal buffer, which increases the degree of write concurrency supported on a single range. #38343
  • Grow stack prior to decoding grpc BatchRequest messages. #38107
  • Batched raft entry application and coalesce writes to applied state for the batch. #38568
  • Improved performance of the BACKUP process. #37887

Build changes

  • Building CockroachDB from source now requires node version 10. This was previously implicitly required. Now the requirement is explicit. #38955
  • Building CockroachDB from source now requires Go 1.12 or higher. #38379

Doc updates

Contributors

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

  • Arseni Lapunov (first-time contributor)
  • Elliot Courant (first-time contributor)

Yes No

Yes No