What's New in v2.1.4

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

January 22, 2019

Get future release notes emailed to you:


Docker image

$ docker pull cockroachdb/cockroach:v2.1.4

Enterprise edition changes

SQL language changes

  • Added support for the pg_catalog introspection table pg_am for both PostgreSQL versions 9.5 and 9.6, which changed the table significantly. #33276
  • Previously, CockroachDB did not consider the value of the right operand for << and >> operators, resulting in potentially very large results and excessive RAM consumption. This has been fixed to restrict the range of these values to that supported for the left operand. #33247
  • Attempts to use some PostgreSQL built-in functions that are not yet supported in CockroachDB now cause a clearer error message, and also become reported in diagnostics reporting, if diagnostics reporting is enabled, so as to gauge demand. #33427 }

Bug fixes

  • Fixed a bug where schema changes could get stuck for 5 minutes when executed immediately after a server restart. #33062
  • Fixed a bug with returning dropped unique columns in DELETE statements with RETURNING. #33541
  • CHANGEFEEDs and incremental BACKUPs no longer indefinitely hang under an infrequent condition. #33141
  • The output of cockroach node status --ranges previously listed the count of under-replicated ranges in the ranges_unavailable column and the number of unavailable ranges in the ranges_underreplicated column. This fixes that mix-up. #32951
  • Fixed a possible goroutine leak when canceling queries. #33137
  • Cancel requests (via the pgwire protocol) now close quickly with an EOF instead of hanging but still do not cancel the request. #33246
  • Fixed pgwire binary decoding of decimal NaN and NULL values in arrays. #33306
  • The UPSERT and INSERT ON CONFLICT statements now properly check that the user has the SELECT privilege on the target table. #33359
  • CockroachDB does not crash upon running SHOW SESSIONS, SHOW QUERIES, and inspections of some crdb_internal tables when certain SQL sessions are issuing internal SQL queries. #33261
  • CockroachDB no longer reports under-replicated ranges corresponding to replicas that are waiting to be deleted. #33407
  • Fixed a panic that could result from not supplying a nullable column in an INSERT ON CONFLICT ... DO UPDATE statement. #33309
  • Resolved a cluster degradation scenario that could occur during IMPORT/RESTORE operations, which manifested through a high number of pending Raft snapshots. #33587
  • Fixed a panic caused by some queries involving lookup joins where an input ordering must be preserved. #33522
  • Prevented a panic with certain queries that use the statement source (square bracket) syntax. #33723
  • Window functions with non-empty PARTITION BY and ORDER BY clauses are now handled correctly when invoked via an external driver. #33671

Performance improvements

  • Improved the execution plans of some queries using LIKE. #33072

Doc updates

  • The new Life of a Distributed Transaction details the path that a query takes through CockroachDB's architecture, starting with a SQL client and progressing all the way to RocksDB (and then back out again). #4281
  • Updated the Production Checklist with more current hardware recommendations and additional guidance on storage, file systems, and clock synch. #4153
  • Expanded the SQLAlchemy tutorial to provide code for transaction retries and best practices for using SQLAlchemy with CockroachDB. #4142


This release includes 33 merged PRs by 17 authors. We would especially like to thank first-time contributor shakeelrao.

YesYes NoNo