Release Notes for Beta-20161110

What's new in CockroachDB beta-20161110


Happy Thursday!

This week's release includes important improvements to performance and to CockroachDB SQL. Instructions are also now available to deploy CockroachDB on GCEAWS, and Digital Ocean.

You can download the new beta here.


The Cockroach Labs Team


Upgrade Notes

Due to changes in the on-disk format of internal range leases, this release cannot be run concurrently with any prior release. All servers running older versions must be stopped before starting any node with this version. #10420

We realize that “stop the world” upgrades are overly interruptive and are actively working on infrastructure improvements to drastically reduce the need for such upgrades in the future.

SQL Language Changes

  • Adding a FOREIGN KEY constraint now automatically creates any necessary index. #9572
  • The pg_catalog.pg_roles, pg_catalog.pg_description, and pg_catalog.pg_settings tables are now supported. #10377 #10381 #10293
  • New functions from_ip() and to_ip() convert between binary and textual IP address formats. #10349
  • Tuple types can now be returned by queries. #10380

Command-Line Interface Changes

  • cockroach debug compact now always rewrites all data, allowing it to pick up configuration changes. #10532

Performance Improvements

  • Adding new replicas is now prioritized over removing dead ones. #10492
  • Replicating ranges on to a new node is now more reliably performed back-to-back. #10440
  • Raft log truncation is now aware of pending snapshots. #10482
  • Replica garbage collection is now triggered more reliably by replication changes. #10500
  • Old replicas that are blocking other operations are now prioritized for garbage collection. #10426
  • Small clusters now run their replica scanners more frequently by default. #10433
  • Reduced contention in the command queue for multi-range operations. #10470
  • Operations that have already expired are no longer added to the command queue. #10487
  • Reduced allocations for SQL row data. #10534

Bug Fixes

  • A node that is stopped and restarted quickly can no longer produce inconsistent results. #10420
  • Replication snapshots now release their resources earlier, preventing deadlocks. #10491
  • Fixed a bug with time series garbage collection when the time series data spans multiple ranges. #10400
  • Fixed a bug with very large DECIMAL values or very small fractions. #10446
  • The pow() function now returns an error when its arguments are too large. #10525
  • Fixed a crash when the number of placeholders in a query doesn’t match the number of arguments. #10474
  • Improved error handling when a SQL transaction exceeds an internal deadline. #9906
  • Fixed a panic in raft leadership transfers. #10530
  • Fixed a leak in CREATE TABLE AS and CREATE VIEW. #10527

Doc Updates


This release includes 64 merged PRs by 21 authors. We would like to thank the following contributors from the CockroachDB community, including first-time contributor Nathan Johnson.

  • Nathan Johnson
  • songhao

We’ve seen data corruption when upgrading to this release from beta-20161103, so we’re withdrawing it until we can fix the bug. The corruption appears to occur only the first time the new release is run, so if you’ve already upgraded we do not recommend downgrading to the 1103 release. The bug is being tracked at