title | toc | summary | redirect_from |
---|---|---|---|
What's New in v1.0-rc.1 |
true |
Additions and changes in CockroachDB version v1.0-rc.1 |
/v1.0-rc.1.html |
Get future release notes emailed to you:
- It is not possible to upgrade directly to this version of CockroachDB from a version older than
beta-20170413
. Upgrade any older clusters to that version first. #15228 - The
cockroach start
command no longer recognizes theCOCKROACH_INSECURE
andCOCKROACH_CERTS_DIR
environment variables which are intended to be client-only. Use the--insecure
and--certs-dir
command-line flags instead. #15196 #15288 - Older certificate-related command-line flags have been removed; use
--certs-dir
instead. #15241 - Various environment variables have been removed in favor of the new
CLUSTER SETTING
commands described below. - The undocumented
SET SYNTAX
statement and the "modern" syntax variant have been removed. #15064
- Anonymous diagnostics statistics are now reported by default. To opt out, set
COCKROACH_SKIP_ENABLING_DIAGNOSTIC_REPORTING=true
in the environment when starting the cluster, or useSET CLUSTER SETTING diagnostics.reporting.enabled = false
in the SQL shell on clusters already running. #14901
- CockroachDB now builds on Windows. Windows support is currently experimental and is recommended only for development, not production.
- Building from source on macOS 10.11 works again. #15168
- Building from source on older CPUs (without SSE4.2) works again. #15247
-
Distributed backup and restore capabilities are now available to enterprise-license customers. Using the new
BACKUP
SQL statement, a cluster's schema and data can be backed up in full or incrementally as of a given timestamp, and can be stored on the platforms you're already using, including AWS S3, Google Cloud Storage, NFS, or HTTP storage. In the unlikely event of irreparable cluster failure, the newRESTORE
SQL statement can be used to restore a cluster from enterprise backups. Importantly, backup and restore operations are distributed across the nodes of a cluster, minimizing the impact on cluster performance.For details about pricing, contact Cockroach Labs.
- Table names and other identifiers are now case-insensitive in all cases, even when used in double quotes. These identifiers will be shown in lowercase in many introspection interfaces. This is consistent with PostgreSQL and improves compatibility with the PostgreSQL JDBC driver. #15434
- New
SHOW ALL CLUSTER SETTINGS
andSET CLUSTER SETTING
statements can be used to view and change certain cluster-wide settings. The following cluster settings are available in this release:diagnostics.reporting.enabled
diagnostics.reporting.report_metrics
diagnostics.reporting.send_crash_reports
kv.allocator.lease_rebalancing_aggressiveness
kv.allocator.load_based_lease_rebalancing.enabled
kv.raft.command.max_size
kv.raft_log.synchronize
kv.snapshot_rebalance.max_rate
kv.snapshot_recovery.max_rate
kv.transaction.max_intents
server.remote_debugging.mode
sql.defaults.distsql
sql.metrics.statement_details.dump_to_logs
sql.metrics.statement_details.enabled
sql.metrics.statement_details.threshold
sql.trace.log_statement_execute
sql.trace.session_eventlog.enabled
sql.trace.txn.enable_threshold
- The
PREPARE
andEXECUTE
statements can now be used to use prepared statements in a SQL shell. #15256 - The
regexp_replace()
function now handles newlines correctly, both with and without then
flag. #15309 - Precedence for the binary
~
operator (regex match) has been changed. This could causeDEFAULT
orCHECK
expressions to have different behavior if~
was used in combination with other operators. These will need to be fixed manually. #15264 - Ambiguous results now return the PostgreSQL "statement completion unknown" error code. #15054
- Time zones can now be specified in more formats in
DATE
types, including+0700
,+07
,+7
, and+07:00
. #15177 - Set-returning functions (like
generate_series()
) are now supported in more contexts. #14369
- Tooltips are now shown on graphs. #15282
- Fixed elements that overlapped incorrectly. #15387
- Improved handling of long strings in table cells. #15387
- The SQL statement latency graphs now include some overhead that was not previously accounted for. #15176
- The default lifetime of certificates generated by
cockroach cert
has been increased to 10 years. #15306 - The output format of
cockroach cert list
has been improved. #15198
- Table scans over interleaved tables now work correctly. #15043
- Fixed backslash escaping when used with the Python
psycopg2
driver. #15281 - Improved certificate validation, fixing compatibility with client certs as used by
psql
. #15286 - Fixed a race between lease transfers and repair/rebalance operations. #15355
- Creating a table with a bad
DEFAULT
expression no longer panics. #15170 - Improved tracking of memory used by aggregate functions. #14904
- Rebalancing now only considers ranges for which all replicas are healthy. #15312
- Writes to the raft log are now fully synced to disk. #15366
- Fixed a hang during node shutdown. #15465
- Fixed "requested entry at index" log spam from
raft_log_queue.go
. #15466
- A new distributed SQL execution engine is now used for a large subset of
SELECT
statements. Instead of returning all table data involved in the query to the gateway node for final computations, computation is distributed between the gateway node and the nodes where the data resides, with just the relevant results returned to the gateway node. This deeper distribution of work significantly improves performance of queries, especially those using aggregation functions or joins. - Smoothed out request stats used by lease rebalancing and reduced thrashing. #15156 #15321
- Improved retry logic after lease failures. #15199
- Snapshots that are necessary for recovery are now given higher recovery than those used for rebalancing. #15279
- Very large transactions and commands that might cause the server to run out of memory are now rejected earlier. #15350
- Node liveness heartbeats are now retried when they fail due to heavy load. #15362
- Improved priority adjustments when transactions are pushed. #7380
- Expanded documentation on backing up and restoring data to cover both distributed capabilities covered by our enterprise license as well as non-distributed dump and import functionality. #1239
- Added SQL-specific FAQs. #1315
- Documented the order in which operators are evaluated within statements. #1322
- Documented the known list of differences between PostgreSQL and CockroachDB for identical SQL input, with porting instructions. #1328
- Expanded best practices when using the
--locality
setting to replicate evenly across datacenters. #1334
This release includes 185 merged PRs by 27 authors. We would like to thank the following contributors from the CockroachDB community, including first-time contributors Evgeniy Vasilev and Mahmoud Al-Qudsi.
- Evgeniy Vasilev
- Kenji Kaneda
- Mahmoud Al-Qudsi