What's New in beta-20160714

Jul 14, 2016

Get future release notes emailed to you:


Upgrade Notes

  • This release cannot be run concurrently with older beta releases. Please stop all nodes running older releases before restarting any node with this version.
  • After running this release, it is impossible to downgrade to any release older than beta-20160629.
  • This release uses more open file descriptors than older releases. It is recommended to set the process's file descriptor limit to at least 10000. See Recommended Production Settings for more details.

New Features

  • The cockroach dump command can now be used to back up the contents of a table. The output of dump is a series of SQL statements that can be used to recreate the table. #7511
  • The ILIKE operator for case-insensitive matching is now supported. #7635
  • Four new operators for regular expression matches are now supported: ~ (regex match), !~ (negated regex match), ~* (case-insensitive regex match), !~* (negated case-insensitive regex matcH). #7686
  • The new SHOW CONSTRAINTS statement can be used to show the constraints on a table. #7584
  • FOREIGN KEY constraints can now have names. #7627
  • The --http-addr flag can be used to control the network interface used for the web UI. #7475
  • ALTER TABLE ADD COLUMN can now be used to create column families. #7711
  • CockroachDB can now be built on FreeBSD. See this blog post for details. #7545
  • The uidebug Makefile target, used for development of the web UI, has been replaced with the environment variable COCKROACH_DEBUG_UI=1. #7601

Performance Improvements

  • Column families are now used by default, improving performance of all tables created in this release and beyond. #7623
  • Removed replicas are now garbage collected more quickly. #7533
  • RocksDB is now configured to use more, smaller files. This improves performance by reducing the amount of data rewritten during compactions, but increases the number of open file descriptors used by the process. #7532
  • The server now increases its soft file descriptor limit if it is too low and this is allowed by the hard limit. #7747
  • The raft log can now be truncated even if a replica is behind, reducing the size of snapshots that must be transmitted over the network (but somewhat increasing the likelihood that a snapshot will be needed instead of replaying the log). #7438
  • Raft-related messages are now sent in separate streams for each range. #7534
  • Raft commands for queries that have been abandoned by the client are no longer retried internally. #7605
  • Table leases are now released when connections are closed, allowing schema changes to proceed without waiting for leases to expire. #7661

Bug Fixes

  • The command-line SQL client is now smarter about semicolons and \ commands inside string literals. #7510
  • LIMIT is now applied correctly on queries that use JOIN. #7546
  • The "CGo Calls" graph in the web UI is now displayed as a rate instead of a cumulative total. #7597
  • The cockroach quit command now waits for the server to stop before returning. #7603
  • Building CockroachDB in a Docker container on Linux with build/builder.sh no longer requires the container and host toolchains to be the same. #7626
  • Fixed a deadlock in table lease acquisition. #7504
  • The TIMESTAMP WITH TIME ZONE type is now reported correctly in the network protocol. #7642
  • Constraint names are now required to be unique. #7629
  • The "Events" tab in the web UI now includes events for schema changes. #7571
  • Fixed several server panics in expression normalization. #7512
  • Fixed a data race when a transaction is abandoned by the client. #7738
  • Fixed a scenario in which intents could not be resolved. #7744
  • RocksDB is no longer allowed to use all available file descriptors. #7747
  • Using * as an argument to functions other than COUNT(*) no longer causes the server to panic. #7751
  • Fixed a deadlock during shutdown. #7770

Doc Updates

  • Docs on installing CockroachDB in Docker now recommend using the new Docker applications for Mac and Windows.
  • The new Start a Cluster in Docker page demonstrates how to run a multi-node cluster across multiple Docker containers on a single host, using Docker volumes to persist node data.
  • Docs on the DELETE statement are now available.


This release includes 131 merged PRs by 25 authors. We would like to thank the following contributors from the CockroachDB community, especially first-time contributor songhao:

  • Jason E. Aten
  • Jingguo Yao
  • Kenji Kaneda
  • Sean Loiselle
  • songhao
YesYes NoNo