title | toc | summary |
---|---|---|
What's New in v1.1-beta.20170907 |
true |
Additions and changes in CockroachDB version v1.1-beta.20170907 |
Get future release notes emailed to you:
<script>
hbspt.forms.create({
css: '',
cssClass: 'install-form',
portalId: '1753393',
formId: '39686297-81d2-45e7-a73f-55a596a8d5ff',
formInstanceId: 1,
target: '.install-form-1'
});
</script>
DROP DATABASE
no longer drops non-empty databases unless theCASCADE
modifier is added. #17926- The
--cache
and--max-sql-memory
flags for thecockroach start
command now default to 128MiB instead of 25% of physical memory to avoid using too much memory by default. Production deployments are encouraged to set--cache
explicitly to 25-50% of the memory allocated to CockroachDB for best performance. #18040
- The new
IMPORT
statement provides a fast way to import an entire table's data into CockroachDB by loading CSV files. Although this feature uses CCL-licensed code, and is therefore available only in builds that include CCL-licensed code, using it is free and does not require an enterprise license. #17539 - The
DELETE
andUPDATE
statements now supportORDER BY
andLIMIT
clauses. #18023 - The
sql_safe_updates
session variable can be set to disable certain "dangerous" SQL statements, such asDELETE
orUPDATE
without aWHERE
clause. This is set by default in thecockroach sql
shell. #17604 #17889 - Parsing of the
DATE
type is no longer affected by the session time zone. #18164 - Type hints are now permitted even when they are imprecise, improving compatibility with some drivers and frameworks. #16672
- Untyped string literals can now be implicitly cast to numbers, improving compatibility with Javascript clients. #15903
- Query cancellation is now supported for queries using the distributed SQL engine. #17527
- The output of
SHOW SESSIONS
now includes alast_active_query
column. #17579 - The
SET TRANSACTION
statement no longer requires commas when multiple directives are given. #17723 - The PostgreSQL-compatible
e'\\x0d0a...'
syntax for hex-encoded byte literals is now supported. #17693 - Star expansion is now supported in more cases. #17833
- The
information_schema.sequences
table is now supported; it is always empty as sequences are not yet supported. #17804 - Improved support for
GROUP BY
andORDER BY
with tuples. #17888 - Statements that spawn jobs (
BACKUP
,RESTORE
, schema changes) no longer appear inSHOW QUERIES
. #17786 - The
CANCEL
,RESUME
,PAUSE
,BACKUP
,RESTORE
, andIMPORT
statements are now valid in prepared statements. TheSET
statement now supports placeholders for values in prepared statements. #17805 #17591
- Fatal error messages are now printed to both
stderr
and the logs. #17588 - The
cockroach dump
command now understands views and orders tables to satisfy foreign key constraints (as long as there are no cycles). #17581 - The
cockroach dump
command correctly represents values such asNaN
andInf
. #18031 - The
cockroach sql
shell now supports a\h
command for "help". Context-sensitive syntax help is available by typing a question mark followed by the tab key while typing a command. #13540 - The
cockroach sql
shell now sets a defaultapplication_name
ofcockroach
. #17602 - The
cockroach sql
shell now prints hints and warnings when available from the server. #17604 - The
cockroach sql
shell has new debugging options\set echo
(and an equivalent command-line flag--echo-sql
) and\unset smart_prompt
. #18127
- Various debugging pages are now available at
/#/debug
. #17635 - Changes to cluster settings are now recorded in the event log. #17619 #17866
- The Live Bytes per Store graph has been replaced with Logical Bytes per Store, which includes the size of old MVCC values waiting to be garbage collected. #17782
- The
/debug/vmodule/
endpoint has been removed; use the SQL functioncrdb_internal.set_vmodule()
instead. #17792 #17914 - When diagnostic reporting is enabled, anonymous web analytics are also collected in the admin UI. #17937 #18046 #18125
- Local tracing is now always enabled when nodes start up (even though it will be disabled by default when the node is fully initialized). This helps diagnose problems that keep a node from joining its cluster. #17944
- Various adjustments to fonts and margins. #16773 #17673
- Fixed a regression in the command queue (introduced in
alpha-20170810
) that could result in data inconsistencies. #17939 - Fixed a bug in range quiescence that could result in some ranges getting stuck indefinitely. #18184
- Foreign keys that point to a prefix of an existing index now work correctly. Previously, rows could be deleted from the referenced table without recognizing the constraint violation if rows in the referring table pointed to them. These foreign keys are also now shown correctly in
SHOW CREATE TABLE
. #17638 - Fixed a bug in
ReverseScan
that could cause data to be missing from query results. #17868 - Fixed a build error on FreeBSD. #17650
- Windows builds no longer fail with
SyncWAL
errors. #17735 - Improved error handling to reduce panics when unsupported SQL features are attempted. #17521
- Corrected computation of lease type metrics. #17615
- More errors now return the correct PostgreSQL error code, and use the protocol's "hint" and "detail" fields. #17630 #17708 #18028 #13540
- Improved error message for parse errors containing funny characters like carriage returns. #18095
- Queries are not removed from
SHOW QUERIES
orSHOW SESSIONS
until all their results have been sent to the client. #17579 - The crash reporter will now time out instead of waiting indefinitely to reach the server. #17683
- gRPC no longer closes inter-node connections unnecessarily. #17706
- Fixed
duplicate key value
errors when performing large number of splits. #17763 - Fixed a deadlock in
quotaPool
. #17796 - Fixed a deadlock in
RangeLookup
duringSCATTER
. #17760 - The distributed SQL engine avoids scheduling work on nodes running an incompatible version. #17747
AS OF SYSTEM TIME 0
is now a normal error instead of a panic. #17680- Fixed a panic in
distSQLPlanner
. #17852 - Fixed a flow control leak that could lead to deadlock. #17856
- Parallelized queries now handle retryable errors correctly. #17627
- Nodes now panic if they fail a consistency check. The
server.consistency_check.interval
cluster setting replaces theCOCKROACH_CONSISTENCY_CHECK_INTERVAL
environment variable for configuring the consistency checker. #17853 - Dropping an interleaved index no longer leaves the table in a broken state. #17860
- Changed "flow already registered" from a panic to a regular error. #17876
- Certain code paths that used to panic on invalid UTF-8 inputs now return an error instead. #17935
- Fixed a memory accounting panic in top-K sorting. #17984
- It is no longer possible to set the
kv.raft.command.max_size
cluster setting to a very low value (which could make the cluster inoperable). #17991
- Stats-based rebalancing is now disabled by default. #17968
- Reduced unnecessary rebalancing. #17613
- The rebalancer now avoids removing the most recently-added replica. #17930
- Increased the size of the leaseholder cache. #17623
- The new
kv.range_descriptor_cache.size
cluster setting can be used to control the size of the range descriptor and leaseholder caches. #17940 - Reduced the size of the timestamp cache by 50%. #17983
- Replaced several
sync.Maps
with a faster specializedIntMap
. #17625 - Improved job recovery after node restarts. #17590
- Reduced synchronization overhead for quiesced replicas. #17617
- Increased the number of allowed gossip connections to reduce thrashing. #17633
- The
ALTER TABLE ... SCATTER
statement is more efficient. #17644 - Attempting to add a column with the
NOT NULL
constraint but no default value now fails earlier. #17634 - The
sql.defaults.distsql.tempstorage
cluster setting now defaults to true. #17665 - Improved rebalancing on clusters with little data. #17733
- Improved performance of raft log truncation. #17818
- The "node liveness" span is now split by default to minimize interactions with the timeseries span. #17810
- "Slow timer" log messages are no longer repeated. #17828
- Set-returning functions used without a
FROM
clause no longer generate a cross-join. #17835 - Memory needed for the RocksDB memtable now counts towards the cache memory budget. #17865
- Reduced log spam for distSQL memory usage. #17807
- Tracing no longer records the transaction ID multiple times. #17954
- MVCC garbage collection is now faster when there are many records to collect. #17986
- Reduced occurrence of
AmbiguousResultError
due to RPC failures. #18000 - Outer joins with filters are now more efficient. #18017
- Added a timeout to heartbeat requests. #18005
- Sideloaded data is now correctly accounted for in raft log truncation decisions, reducing disk usage after a
RESTORE
completes. #18090 - Sideloaded raft log storage avoids creating too many subdirectories in one parent directory. #17787
- Fixed integer overflow in
generate_series()
. #18066 INSERT
statements usingRETURNING NOTHING
that target different rows in the same table can now be parallelized. #17757- The timeout used for intent resolution has been increased to reduce the probability of failed resolutions that need to be retried. #18155
- Documented why and how to use
RETURNING NOTHING
to execute statements within a transaction in parallel. #1790 - Documented SQL statements for managing queries and sessions:
SHOW QUERIES
,CANCEL QUERY
,SHOW SESSIONS
. #1828 - Added a quick reference on Managing Long-Running Queries. #1828
- Documented the
SHOW BACKUP
statement. #1869 - Added overview pages for the
ALTER DATABASE
andALTER INDEX
statements that point to pages for relevant subcommands, e.g.,RENAME DATABASE
andRENAME INDEX
. #1869 - Documented the
ARRAY
andUUID
data types. #1837 #1834 - The RFC process has been updated. #17568
- Updated the Contribute to CockroachDB page to provide guidelines on finding a project, determining its complexity, and learning what to expect in your collaboration with the Cockroach Labs team. #1881
- The initial split/scatter phase of large
RESTORE
jobs is now much faster. #18043 - End times are now recorded correctly in backup descriptors. #17908
- Avoided slowdowns when multiple backup/restore goroutines attempt to update their progress simultaneously. #17934
RESTORE
now uses larger SSTables to avoid running out of file descriptors. #17991 #18037- Fixed a deadlock in
RESTORE
. #18101