title | toc | summary |
---|---|---|
What's New in v2.1.0-alpha.20180730 |
false |
Additions and changes in CockroachDB version v2.1.0-alpha.20180730 since version v2.1.0-alpha.20180702 |
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>
- The cost-based optimizer is now on by default. #26893
- The time series system used by CockroachDB to store internal monitoring data now utilizes pre-computed rollups to significantly increase the duration for which monitoring data is available while using less storage. Monitoring data will be available for up to a year by default; however, data older than seven days will be stored at a reduced resolution, and thus will only be able to give details about 30 minute intervals. #27121 {% comment %}doc{% endcomment %}
- Building CockroachDB from source now requires yarn at version 1.7.0 or above. #27262 {% comment %}doc{% endcomment %}
- Added support for signing server and client certificates by different CAs. #27636 {% comment %}doc{% endcomment %}
- Core dumps are now disabled and encryption is enabled. #27426
CHANGEFEED
s now use an asynchronous Kafka producer, increasing throughput. #27421
- CockroachDB now supports custom frame specification for window functions using
ROWS
(fully-supported) andRANGE
modes. ForRANGE
,<value> PRECEDING
and<value> FOLLOWING
are not supported. #26666 {% comment %}doc{% endcomment %} - The
SNAPSHOT
isolation level has been removed. Transactions that request to use it are now mapped toSERIALIZABLE
. #27040. {% comment %}doc{% endcomment %} - When the cost-based optimizer is enabled, it will also affect prepared queries. #27034
- Upon failing to gather data from other nodes, the
SHOW CLUSTER QUERIES
andSHOW CLUSTER SESSIONS
statements now report the details of the error. #26821 - Improved the description for the
age()
built-in function. #27082 {% comment %}doc{% endcomment %} - The
pg_get_indexdef()
built-in function now supports 3 arguments. #27161 {% comment %}doc{% endcomment %} - Added
COPY
support toIMPORT .. . PGDUMP
. #27062 {% comment %}doc{% endcomment %} - The new
max_row_size
option overrides default limits on line size forIMPORT ... PGDUMP
andPGCOPY
. #27062 {% comment %}doc{% endcomment %} - The
SHOW TRACE FOR <stmt>
statement was incomplete and incorrect and has thus been removed. To turn on tracing, useSET tracing = ...
andSHOW SESSION TRACE
, or enable the newauto_trace
client-side option forcockroach sql
. #27805 {% comment %}doc{% endcomment %}instead. #26729 {% comment %}doc{% endcomment %} SET tracing
accepts a new optionresults
, which causes result rows and row counts to be copied to the session trace. This was previously implicit with optionkv
but must now be specified explicitly when desired. #26729- The word
view
is now supported as an identifier like in PostgreSQL. #27204 {% comment %}doc{% endcomment %} IMPORT ... PGDUMP
no longer requires the--no-owner
flag. #27268 {% comment %}doc{% endcomment %}AS OF SYSTEM TIME
can now use some more complex expressions to compute the desired timestamp. #27206 {% comment %}doc{% endcomment %}- Added support for the
convert_from()
andconvert_to()
built-in functions, for compatibility with PostgreSQL. Forconvert_from()
, however, in contrast with PostgreSQL, the function in CockroachDB accepts NUL in the input, because null characters are valid in CockroachDB strings. #27328 {% comment %}doc{% endcomment %} - The
ALTER ... EXPERIMENTAL CONFIGURE ZONE
statement now accepts arbitrary scalar expressions (including possibly containing sub-queries) to compute the YAML operand. #27213 {% comment %}doc{% endcomment %} - CockroachDB now recognizes PostgreSQL's abbreviated time units when converting strings to intervals. #27393 {% comment %}doc{% endcomment %}
- Sorting with a limit and/or input ordering now falls back to disk. #27083
- CockroachDB now reports a hint in the error message if it encounters a correlated query that it does not support yet. #27396
- The new
EXPERIMENTAL_RELOCATE LEASE
command forALTER TABLE
andALTER INDEX
allows manually transferring the leases for specific ranges to specific stores. #26436 {% comment %}doc{% endcomment %} - Added the
sql.distsql.{flow_stream_timeout,max_running_flows}
cluster setting to fine-tune flow setup #27404 {% comment %}doc{% endcomment %} IMPORT
now supports aWITH oversample = ...
option option to decrease variance in data distribution during processing. #27341 {% comment %}doc{% endcomment %}IMPORT ... PGDUMP
now supports foreign keys. #27425 {% comment %}doc{% endcomment %}IMPORT ... PGDUMP
now supports sequences. #27739 {% comment %}doc{% endcomment %}IMPORT ... PGDUMP
now supports empty and public schemas. #27782 {% comment %}doc{% endcomment %}SHOW JOBS
now reports results even when a job entry is incomplete or incorrect. #27430- The column labels in the output of
EXPLAIN
and allSHOW
statements have been renamed for consistency. #27098 {% comment %}doc{% endcomment %} - The column labels in the output of
SHOW COLUMNS
have been renamed for consistency withinformation_schema
. The newgeneration_expression
column reports the expression used for computed columns. #27098 {% comment %}doc{% endcomment %} - The
SHOW CREATE
statement has been simplified and can be used equivalently on tables, views, and sequences without having to specify the type of object to inspect. #27098 {% comment %}doc{% endcomment %} - Added the
chr()
built-in function (the inverse ofascii()
). #27278 {% comment %}doc{% endcomment %} - Added support for skipping foreign keys in
IMPORT
s that support them. #27606 {% comment %}doc{% endcomment %} - The new
sql.optimizer.count
metric has been added to track the number of queries with with the experimental cost-based optimizer. #26981 - More statement types are now reported in the collected statement statistics in the web UI and diagnostics reporting. #27646
- Added support for KV traces (
SHOW KV TRACE FOR SESSION
) on DistSQL-executed queries. #27802 {% comment %}doc{% endcomment %} - The return type of single-column generator functions has been changed from
tuple{columnType}
tocolumnType
. This is a compatibility change to match the behavior of PostgreSQL. #27773 {% comment %}doc{% endcomment %}
- CockroachDB now computes the correct number of replicas on down nodes. Therefore, when decommissioning nodes via the
cockroach node decommission
command, the--wait=all
option no longer hangs indefinitely when there are down nodes. As a result, the--wait=live
option is no longer necessary and has been deprecated. The--wait=all
option is now the default. #27027 {% comment %}doc{% endcomment %} - Added the
cockroach sqlfmt
command for formatting SQL statements. #27240 {% comment %}doc{% endcomment %} - The output labels of
cockroach user ls
andcockroach user get
have been renamed for consistency with the SQLSHOW USERS
statement. Also, to reduce inadvertent data leaks, the output ofcockroach user get
no longer includes hashed passwords. #27098 {% comment %}doc{% endcomment %} - The new client-side option
prompt1
can be used to customize thecockroach sql
interactive prompt. #27803 {% comment %}doc{% endcomment %} - The new
auto_trace
client-side option can be use to turn on tracing for acockroach sql
session. #27805 {% comment %}doc{% endcomment %}
- The new Hardware dashboard displays time series data about CPU, memory, and disk and network IO. #27626
- Time series metric metadata is now available at
<Web UI>/_admin/metricmetada
. #25359 {% comment %}doc{% endcomment %} - Encryption progress is now reported on
<Web UI>/#/reports/stores/local
debug page. #26802 {% comment %}doc{% endcomment %} - Statement statistics can now be filtered by app on the Statements page. #26949 {% comment %}doc{% endcomment %}
- Improved the readability of the mean and standard deviation bar chart on the Statement Details page. #26949 {% comment %}doc{% endcomment %}
- Added a visualization of the standard deviation of the latency of statements to the Statements page. #26949 {% comment %}doc{% endcomment %}
- The Statements page now shows statements that executed on all nodes in the cluster, not just the gateway node. #26605 {% comment %}doc{% endcomment %}
- The Statement Details page now includes a table showing statistics broken down by which node was the gateway node. #26605 {% comment %}doc{% endcomment %}
- Fixed the ordering of columns in the
cockroach node status
output. #27042 - Fixed a bug that would make the Statement Details page in the Web UI break if a statement wasn't found. #27105
- Fixed some incorrectly typed columns in the
pg_index
virtual table. #27723 - Fixed permissions and audit logging issues with the optimizer. #27108
- Prevented a situation in which ranges repeatedly fail to perform a split. #26934
- Fixed a crash that could occur when distributed
LIMIT
queries were run on a cluster with at least one unhealthy node. #26950 - Failed
IMPORT
s now begin to clean up partially imported data immediately and in a faster manner. #26959 IMPORT
now detects node failure and will restart instead of fail. #26881- Fixed a panic in the optimizer with
IN
filters. #27053 - Fixed a panic that could occur when renaming a scalar function used as a data source. #27039
- The server will not finalize a version upgrade automatically and erroneously if there are nodes temporarily inactive in the cluster. #26821 {% comment %}doc{% endcomment %}
- The
DISTINCT ON
clause is now reported properly in statement statistics. #27221 - Fixed a panic in
IMPORT
when creating a table using a sequence operation (e.g.,nextval()
) in a column's DEFAULT expression. #27122 SET
now properly rejects attempts to use invalid variable names starting withtracing.
. #27216- Fixed
NULL
equality handling in the experimental lookup join feature. #27336 ALTER ... EXPERIMENTAL CONFIGURE ZONE
is now properly tracked in statement statistics. #27213- Invalid uses of set-generating functions in
FROM
clauses are now reported with the same error code as PostgreSQL. #27390 - The number of
COPY
columns is now correctly verified duringIMPORT ... PGDUMP
. #27345 CHANGFEED
s now correctly emit all versions of quickly changing rows. #27612- Alleviated a scenario in which a large number of uncommitted Raft commands could cause memory pressure at startup time. #27009
- Prevented the unbounded growth of the Raft log caused by a loss of quorum. #27774
- Foreign key references in
IMPORT ... PGDUMP
are now processed in the correct order. #27782
- Transactional writes are now pipelined when being replicated and when being written to disk, dramatically reducing the latency of transactions that perform multiple writes. This can be disabled using the new
kv.transaction.write_pipelining_enabled
cluster setting. #26599 - Reduced CPU utilization in clusters with many ranges, also during periods of lease rebalancing. #26910 #26907
- Reduced the memory size of commonly used Request and Response objects. #27112
- Improved low-level iteration performance. #27299
- Prevented a scenario when dropping a table that could cause excessive compaction activity that would degrade performance significantly. #27353
- Limited the scanner for running incessantly on stores with 100s of thousands of replicas. #27441
- Prevented dead nodes in clusters with many ranges from causing unnecessarily high CPU usage. #26911
- Significantly reduce CPU usage when a large number of ranges are deleted from a node. #27520
- Min, max, sum, and avg now take linear time when used for aggregation as window functions for all supported window frame options. #26988
CHANGEFEED
s no longer hold all data for each poll in memory at once, increasing scalability. #27612
- Upgraded protobuf to 3.6.0 #26935
Docs team: Please add these manually.
This release includes 328 merged PRs by 42 authors. We would like to thank the following contributors from the CockroachDB community, with special thanks to first-time contributors Andrew Woods, Art Nikpal, Ivan Kozik, Madhav Suresh, Tarek Badr, and nexdrew.
- Art Nikpal
- Brett Snyder
- Ivan Kozik
- Nishant Gupta
- Tarek Badr
- neeral
- nexdrew