What's New in beta-20160629

Jun 29, 2016

Get future release notes emailed to you:


New Features

  • A prototype implementation of JOIN (non-optimized) is now available. #7202
  • Column Families are a new, more efficient representation of SQL tables. Each column family is a group of columns in a table that are stored as a single underlying key-value pair. New tables created with multi-column families will not be compatible with versions of CockroachDB earlier than beta-20160629. However, no migration of existing tables is necessary; the previous format corresponds to a separate column family for each column in the table. #7466, #7408, RFC
  • EXPLAIN can now be used with CREATE, DROP, and ALTER statements. #7269
  • The built-in SQL client now prints tab-separated values instead of ASCII-art tables when stdout is not a TTY (unless --pretty is used). #7268
  • In interactive mode, the built-in SQL client now prints the number of rows at the end of a result set. #7266
  • Prepared statements can now be deallocated with the DEALLOCATE command. #7367
  • Added support for interval types in placeholders. #7382
  • Added support for hexadecimal-encoded STRING literals. #7138

Performance Improvements

  • The load balancing system now operates at a steadier pace, reducing spikes in memory usage and reaching equilibrium more quickly. #7147
  • The block cache is now shared across stores on the same node. #7496
  • Initial replication in a new cluster is now significantly faster. #7355
  • The Raft log is now more aggressively truncated. #7125
  • The RocksDB block-size is now set to a more reasonable value. #7276
  • A new reservation system now ensures that there is enough free space and not too many existing reservations before trying to replicate a range to a new store. This stops the thundering herd that can occur when adding a new node to a cluster. #7147
  • Miscellaneous performance improvements in the underlying data distribution and replication protocol.

Bug Fixes

  • Fixed a bug that could cause a server crash on startup. #7447
  • Improved the handling of NULL values in arithmetic and comparison operations. #7341
  • Fixed a crash when session arguments could not be parsed. #7231
  • Improved error messages for parts of the PostgreSQL protocol we do not support. #7233
  • AS OF SYSTEM TIME can now be used in prepared statements. #7251
  • Raft messages are no longer canceled due to unrelated errors. #7252
  • Constraint names that are specified at the column level are now preserved. #7271
  • When COMMIT returns an error, the transaction is considered closed and a separate ROLLBACK is no longer necessary. #7282
  • The built-in SQL client now escapes strings in a format that the SQL parser will accept. #7294
  • Fixed issues when two snapshots were being sent simultaneously. #7299
  • When a column is renamed, any CHECK constraints referring to that column are now updated. #7311
  • When piping commands into the built-in SQL client, the last line was previously ignored. Now it will be executed if it ends with a semicolon, or report an error if it is non-empty but not a complete statement. #7328
  • When cockroach quit fails to drain a node, it is now forced to quit. #7483
  • Fixed a case in which a removed replica could prevent the rebalance queue from making progress. #7507
  • Fixed a bug that slowed down population of new replicas. #7252

Internal Changes

  • The Admin UI has been rewritten in a new framework. #7242
  • The Admin UI now uses serialized protocol buffers when communicating with CockroachDB servers. #7178, #7242


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

  • Jingguo Yao
  • Kenji Kaneda
  • phynalle
YesYes NoNo