title | toc | summary | redirect_from |
---|---|---|---|
What's New in beta-20161201 |
false |
Additions and changes in CockroachDB version beta-20161201. |
/beta-20161201.html |
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>
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.
- CockroachDB now vendors its dependencies, so building from source no longer interferes with other project in the
$GOPATH
. #9900
- Adding a
FOREIGN KEY
constraint now automatically creates necessary indexes. #9572 - The
pg_catalog.pg_roles
,pg_catalog.pg_description
,pg_catalog.pg_settings
, andpg_catalog.pg_index
tables are now supported. #10377 #10381 #10293 #10548 #10592 - The
pg_catalog.pg_depend
table is now partially supported (just enough to supportpgjdbc
). #10696 pg_catalog
tables now report databases as belonging to PostgreSQL-compatible namespaces. This is for compatibility only; CockroachDB does not have a notion of namespaces. #11603- The
pg_catalog.pg_get_expr
andpg_catalog.pg_generate_series
functions are now supported. #10952 #11214 - The
conkey
andconfkey
columns of thepg_catalog.pg_constraint
table now return real integer arrays. #10584 - New functions
from_ip()
andto_ip()
convert between binary and textual IP address formats. #10349 - Tuple types can now be returned by queries. #10380
- The SQL standard interval format
Y-M-D
is now supported. #10499 - The
array_length
,array_upper
, andarray_lower
functions are now available. #10565 - The
to_uuid
andfrom_uuid
functions are now available. #10541 - The
pow()
anddiv()
functions now work when both arguments are integers. #10538 - The
ARRAY[]
constructor syntax is now supported. #10585 - The
COLLATE
operator is now supported. Collation support is still incomplete and will be improved in upcoming releases. #10605 - The
current_schema
function is now supported. #10707 - The
SET APPLICATION_NAME
statement is now supported. This is a write-only variable which is used by some frameworks but has no effect. #10725 - The
CREATE DATABASE
statement now accepts the optionsTEMPLATE
,LC_COLLATE
, andLC_CTYPE
for compatibility with PostgreSQL, although the values available for these options are limited. #10775 - The
SELECT
statement now supports theWITH ORDINALITY
modifier to generate row numbers. #10558
- Temporary directories are no longer created automatically for logging. Commands other than
cockroach start
log tostderr
if no--log-dir
flag is given, andcockroach start
writes to the directory of the first store. Various combinations of--log-dir
,--logtostderr
, and--alsologtostderr
now work in more sensible ways. #10675 #10926 #10962 - The
cockroach sql
prompt now indicates the status of the current transaction (if any). #10866 - The
--password
flag for thecockroach user set
command no longer accepts the new password as a command-line argument; instead this flag is a boolean to determine whether a password should be created for the user. The password is always read fromstdin
. #10680 - The
cockroach user set
command no longer prompts for passwords in insecure mode unless--password
is given. #10547 - The
cockroach debug compact
command now always rewrites all data, allowing it to pick up configuration changes. #10532
- The design of the navigation elements has been updated. #10611
- The design of the Database tab has been updated. #10552
- Syntax highlighting is now used when displaying
CREATE TABLE
statements. #10579 - The UI no longer attempts to display information about the virtual databases
information_schema
andpg_catalog
. #10920 - Metrics for the fraction of available and fully-replicated ranges are now computed more accurately. #11213
- Increased the speed of some mathematical operations (Log, Pow) on
DECIMAL
values. #11669 - Reduced rebalancer thrashing by dynamically adjusting how often store capacities are gossiped. #11662
- Adding new replicas is now prioritized over removing dead ones. #10492 #10683
- Replicating ranges to a new node is now more reliably performed back-to-back. #10440 #10749
- The rebalancing system is now less prone to thrashing. #10761
- Raft log truncation is now aware of pending snapshots. #10482
- Raft snapshots are now applied more efficiently. #10931
- Raft now sends log entries in smaller batches. #10929
- 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
- Reduced memory allocations when encoding dates and times. #10531
- Parsing hexadecimal literals using the
x''
syntax is now more efficient. #10660 - Time series pruning is now more efficient. #10682
- Commands that have been canceled by clients no longer accumulate in the internal command queue. #10772
- When a command that has been retried on multiple replicas succeeds on any of them, any in-flight attempts on the other replicas is canceled. #10970
- The fast-path for local "RPCs" now uses goroutines to avoid blocking the caller. #11196
- Fixed a bug that caused over-aggressive Raft log truncation, which in turn led to an excessive number of Raft initiated snapshots. #11720
- Fixed a bug that caused data corruption when upgrading from
beta-20161103
tobeta-20161110
. #10681 #10724 - A node that is stopped and restarted quickly can no longer produce inconsistent results. #10420
- Fixed bugs that prevented communication with a node that was previously down. #10642 #10652
- It is now possible for a new node to start up using the same network address as a node that had previously existed. #10544 #10699
- 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 several bugs with very large
DECIMAL
values or very small fractions. #10446 #10559 #10570 #10934 - 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
andCREATE VIEW
. #10527 - Fixed a panic "range lookup of meta key found only non-matching ranges". #10583
- The consistency checker now runs to completion instead of canceling itself before finishing. #10625
- Internal retries no longer cause transaction replay errors. #10639
- The
cockroach sql
command no longer crashes when given a URL without a username. #10862 - Fixed a deadlock in
RemoveReplica
. #10875 result is ambiguous
errors are now returned in more situations. #10703 #11211- The
ALTER TABLE SPLIT AT
command will now retry internally instead of returning errors about conflicting updates. #10728 - Fixed a panic that could occur when a node is restarted after an unclean shutdown. #10690
- Fixed a panic when replicas are removed and re-added rapidly. #11699
- The
sign()
function with aDECIMAL
argument now returns a decimal rather than a float. #10954 - Fixed a panic in the raft tick loop. #11622
- The
LIMIT
operator now works correctly inINSERT ... SELECT
. #11632
- Expanded the cloud deployment documentation to cover Microsoft Azure and secure deployment on all featured platforms:
- Added interactive asciicasts to getting started tutorials: #861 #865 #888
- Added tutorials that demonstrate core features of CockroachDB: #834 #878 #899
- Added documentation on user management and password-based authentication: #838
CREATE USER
statementcockroach user
command
- Added documentation on the
information_schema
built-in database, which provides introspection into database tables, columns, indexes, and views, and which is required for ORM compatibility. #859 - Updated
SELECT
statement documentation to cover using "index hints". #894 - Updated
FOREIGN KEY
constraint documentation to clarify that creating a table with a foreign key now automatically creates an index for you. #895 - Updated
RENAME
statement documentation to clarify that you can't rename a database, table, column, or index reference by a view. #873 - Updated the
cockroach start
command documentation to cover the--max-sql-memory
flag. #868 - Updated the
cockroach zone
command documentation to reflect the correct YAML structure. #902 - Fixed the Rust code samples on Build an App. #863
This release includes 292 merged PRs by 30 authors. We would like to thank the following contributors from the CockroachDB community, including first-time contributors Christian Gati, Dustin Hiatt, kiran, and Nathan Johnson.
- Christian Gati
- Dustin Hiatt
- Haines Chan
- kiran
- Nathan Johnson
- songhao
- yznming