The releases on this page are testing releases, not supported or intended for production environments. The new features and bug fixes noted on this page may not yet be documented across CockroachDB’s documentation.
- For CockroachDB Self-Hosted: All v24.2 testing binaries and Docker images are available for download.
- For CockroachDB Dedicated: v24.2 testing releases are not available.
- For CockroachDB Serverless: v24.2 testing releases are not available.
When a v24.2 release becomes Generally Available, a new v24.2.0 section on this page will describe key features and additional upgrade considerations.
On this page, you can read about changes and find downloads for all production and testing releases of CockroachDB v24.2.
- For key feature enhancements in v24.2 and other upgrade considerations, refer to the notes for v24.2 on this page.
- For details about release types, naming, and licensing, refer to the Releases page.
- Be sure to also review the Release Support Policy.
- After downloading a supported CockroachDB binary, learn how to install CockroachDB or upgrade your cluster.
Get future release notes emailed to you:
v24.2.0-beta.3
Release Date: August 1, 2024
Downloads
CockroachDB v24.2.0-beta.3 is a testing release. Testing releases are intended for testing and experimentation only, and are not qualified for production environments and not eligible for support or uptime SLA commitments.
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
Operating System | Architecture | Full executable | SQL-only executable |
---|---|---|---|
Linux | Intel | cockroach-v24.2.0-beta.3.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.3.linux-amd64.tgz (SHA256) |
ARM | cockroach-v24.2.0-beta.3.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.3.linux-arm64.tgz (SHA256) |
|
Mac (Experimental) |
Intel | cockroach-v24.2.0-beta.3.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.3.darwin-10.9-amd64.tgz (SHA256) |
ARM | cockroach-v24.2.0-beta.3.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.3.darwin-11.0-arm64.tgz (SHA256) |
|
Windows (Experimental) |
Intel | cockroach-v24.2.0-beta.3.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.0-beta.3.windows-6.2-amd64.zip (SHA256) |
Docker image
[Multi-platform images](https://docs.docker.com/build/building/multi-platform/) include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host. Within the multi-platform image, both Intel and ARM images are **generally available** for production use. To download the Docker image:docker pull cockroachdb/cockroach-unstable:v24.2.0-beta.3
Source tag
To view or download the source code for CockroachDB v24.2.0-beta.3 on Github, visit v24.2.0-beta.3 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.0-beta.2...v24.2.0-beta.3
Command-line changes
- A
--locality-file
flag is now available on thecockroach start
andcockroach start-single-node
commands. This provides the option of specifing node locality (typically aregion
value) as a file, as an alternative to specifying this using the--locality
flag. [#127476][#127476]
Bug fixes
- Fixed a formatting issue with the
sql_sequence_cached_node
value of theserial_normalization
setting. This could lead to an error connecting to CockroachDB if this value was set as the default forserial_normalization
via cluster settingsql.defaults.serial_normalization
. [#127674][#127674] - Dropping ENUM-type values which were referenced by index expressions could fail with an error. [#127455][#127455]
This release includes 13 merged PRs by 7 authors.
v24.2.0-beta.2
Release Date: July 24, 2024
Downloads
CockroachDB v24.2.0-beta.2 is a testing release. Testing releases are intended for testing and experimentation only, and are not qualified for production environments and not eligible for support or uptime SLA commitments.
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
Operating System | Architecture | Full executable | SQL-only executable |
---|---|---|---|
Linux | Intel | cockroach-v24.2.0-beta.2.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.2.linux-amd64.tgz (SHA256) |
ARM | cockroach-v24.2.0-beta.2.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.2.linux-arm64.tgz (SHA256) |
|
Mac (Experimental) |
Intel | cockroach-v24.2.0-beta.2.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.2.darwin-10.9-amd64.tgz (SHA256) |
ARM | cockroach-v24.2.0-beta.2.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.2.darwin-11.0-arm64.tgz (SHA256) |
|
Windows (Experimental) |
Intel | cockroach-v24.2.0-beta.2.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.0-beta.2.windows-6.2-amd64.zip (SHA256) |
Docker image
[Multi-platform images](https://docs.docker.com/build/building/multi-platform/) include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host. Within the multi-platform image, both Intel and ARM images are **generally available** for production use. To download the Docker image:docker pull cockroachdb/cockroach-unstable:v24.2.0-beta.2
Source tag
To view or download the source code for CockroachDB v24.2.0-beta.2 on Github, visit v24.2.0-beta.2 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.0-beta.1...v24.2.0-beta.2
Security updates
- URLs in the following SQL statements are now sanitized of any secrets before being written to unredacted logs. #127360
ALTER BACKUP SCHEDULE
ALTER BACKUP
ALTER CHANGEFEED SET sink
BACKUP
COPY
CREATE CHANGEFEED
CREATE EXTERNAL CONNECTION
CREATE SCHEDULE FOR BACKUP
CREATE SCHEDULE FOR CHANGEFEED
EXPORT
IMPORT INTO
RESTORE
SHOW BACKUPS
SHOW BACKUP
SQL language changes
- The new cluster setting
sql.auth.grant_option_for_owner.enabled
controls whether the owner of an object has permission to grant permission on the object to other users. When set totrue
(the default), theGRANT OPTION
is is implicitly granted to the object owner, who can grant permissions on the object to other users, preserving the existing behavior of CockroachDB. When set tofalse
, theGRANT OPTION
is not implicitly given to the owner of an object. The owner's permissions do not change, but they can no longer grant permissions to others unless theGRANT OPTION
is granted to them explicitly. #126960 - Fixed a bug in which the
DISCARD
statement was disallowed when the session settingdefault_transaction_read_only = on
. cockroachdb/cockroach#127364
Bug fixes
- Fixed a bug that could cause
CREATE INVERTED INDEX
andALTER TABLE ... SET LOCALITY REGIONAL BY ROW
statements to fail if the corresponding table contained columns with non-standard characters in their names, such as tabs or newlines. This bug was introduced along with inverted indexes in v2.0. #126996 - Fixed a bug introduced in v23.2 that could cause a gateway node to crash while executing an
INSERT
statement in aREGIONAL BY ROW
table. #127278 - Fixed a bug where a schema change could hang if the lease rangefeed stopped receiving updates. #127488
Contributors
This release includes 45 merged PRs by 18 authors.
v24.2.0-beta.1
Release Date: July 18, 2024
Downloads
CockroachDB v24.2.0-beta.1 is a testing release. Testing releases are intended for testing and experimentation only, and are not qualified for production environments and not eligible for support or uptime SLA commitments.
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
Operating System | Architecture | Full executable | SQL-only executable |
---|---|---|---|
Linux | Intel | cockroach-v24.2.0-beta.1.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.1.linux-amd64.tgz (SHA256) |
ARM | cockroach-v24.2.0-beta.1.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.1.linux-arm64.tgz (SHA256) |
|
Mac (Experimental) |
Intel | cockroach-v24.2.0-beta.1.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.1.darwin-10.9-amd64.tgz (SHA256) |
ARM | cockroach-v24.2.0-beta.1.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.1.darwin-11.0-arm64.tgz (SHA256) |
|
Windows (Experimental) |
Intel | cockroach-v24.2.0-beta.1.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.0-beta.1.windows-6.2-amd64.zip (SHA256) |
Docker image
[Multi-platform images](https://docs.docker.com/build/building/multi-platform/) include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host. Within the multi-platform image, both Intel and ARM images are **generally available** for production use. To download the Docker image:docker pull cockroachdb/cockroach-unstable:v24.2.0-beta.1
Source tag
To view or download the source code for CockroachDB v24.2.0-beta.1 on Github, visit v24.2.0-beta.1 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.0-alpha.2...v24.2.0-beta.1
Security updates
- Added support for a custom certificate authority (CA) to verify certificates from the JWT issuer domain, which hosts the JSON Web Key Set (JWKS) configuration that is fetched to validate JWT, along with the new cluster setting
server.jwt_authentication.issuer_custom_ca
to set the custom root CA. #126062
General changes
- Job status changes now log events to the OPS channel, to indicate the previous and new status of the job. #125319
Enterprise edition changes
- The new cluster setting
server.oidc_authentication.client.timeout
allows configuration of the HTTP client timeout for external calls made during OIDC authentication. The default timeout is 30 seconds. #125767 - The Kafka sink for changefeeds now supports authentication using AWS IAM roles, providing a more secure method for connecting to AWS Managed Streaming for Apache Kafka (MSK) clusters. #125745
SQL language changes
- Added pgvector encoding, decoding, and operators, without index acceleration. #124292
- Added support for generic query plans to the optimizer to reduce the computational burden of query optimization by caching and reusing plans in later executions of the same statement. "Custom" query plans are optimized on every execution, while "generic" plans are optimized once and reused on future executions. Generic query plans are beneficial in cases where query optimization contributes significant overhead to the total cost of executing a query. #126528 #127012
- When the session setting
plan_cache_mode
is set toauto
, the system automatically determines whether to use custom or generic query plans for the execution of a prepared statement. - When the session setting
plan_cache_mode
is set toforce_generic_plan
, prepared statements will reuse optimized query plans without re-optimization, as long as the plans do not become stale due to schema changes or new table statistics. - The setting is used during
EXECUTE
commands and theEXPLAIN ANALYZE
output includes aplan type
field that displays:generic, re-optimized
if the plan is optimized for the current execution,generic, reused
if the plan is reused without re-optimization, orcustom
for other plans.
- When the session setting
- The output of
SHOW GRANTS
for a role now includes privileges inherited from thepublic
role, which is a default role defined on every cluster. #127086
Operational changes
- For the TELEMETRY channel, TCL
sampled_query
events will now be sampled at the rate specified by the settingsql.telemetry.query_sampling.max_event_frequency
, which is already used to limit the rate of sampling DML statements. #126484 - The
encode-uri
command now supports the--certs-dir
option as an alternative to passing individual certificate paths. #126793
Command-line changes
- The new
--shutdown
flag of thecockroach node drain
command shuts down the node automatically after draining successfully completes. #126950
Bug fixes
- Fixed a bug on the node list of the Cluster overview page where the icons present on certain tables to expand and collapse expandable rows did not work. #126639
- Fixed a bug that prevented fast path inserts into regional by row tables with uniqueness constraints under
READ COMMITTED
isolation. #126504 - Fixed a bug where the
sql.stats.discarded.current
metric omitted discarded statements from its count. Both discarded statements and transactions are included in the metric. #126585 - Fixed a bug where the Database page could crash if range information is not available. #126419
- Fixed a bug that caused background jobs to incorrectly respect a statement timeout. #126336
- Fixed a bug when creating partial statistics with the USING EXTREMES option (disabled by default) where the merged statistic could contain inaccurate
DISTINCT
counts. #126830 - Fixed bug where a replication zone configuration for a partition key could disappear during truncation. #126531
Performance improvements
- The efficiency of merging partial statistics into existing statistics has been improved. #126830
- The optimizer now generates more efficient plans for queries with clauses like
ORDER BY col ASC NULLS LAST
andORDER BY col DESC NULLS FIRST
whencol
is guaranteed to not beNULL
. #126685
Contributors
This release includes 96 merged PRs by 49 authors.
v24.2.0-alpha.2
Release Date: July 10, 2024
Downloads
CockroachDB v24.2.0-alpha.2 is a testing release. Testing releases are intended for testing and experimentation only, and are not qualified for production environments and not eligible for support or uptime SLA commitments.
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
Operating System | Architecture | Full executable | SQL-only executable |
---|---|---|---|
Linux | Intel | cockroach-v24.2.0-alpha.2.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.2.linux-amd64.tgz (SHA256) |
ARM | cockroach-v24.2.0-alpha.2.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.2.linux-arm64.tgz (SHA256) |
|
Mac (Experimental) |
Intel | cockroach-v24.2.0-alpha.2.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.2.darwin-10.9-amd64.tgz (SHA256) |
ARM | cockroach-v24.2.0-alpha.2.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.2.darwin-11.0-arm64.tgz (SHA256) |
|
Windows (Experimental) |
Intel | cockroach-v24.2.0-alpha.2.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.0-alpha.2.windows-6.2-amd64.zip (SHA256) |
Docker image
[Multi-platform images](https://docs.docker.com/build/building/multi-platform/) include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host. Within the multi-platform image, both Intel and ARM images are **generally available** for production use. To download the Docker image:docker pull cockroachdb/cockroach-unstable:v24.2.0-alpha.2
Source tag
To view or download the source code for CockroachDB v24.2.0-alpha.2 on Github, visit v24.2.0-alpha.2 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.0-alpha.1...v24.2.0-alpha.2
General changes
- The compression option
none
was added to allow for the disabling of SSTable compression. This option can be used with any of the three existing cluster settings that control SSTable compression:
SQL language changes
- Added the
sql.auth.grant_option_inheritance.enabled
cluster setting. The default value istrue
, which maintains consistency with CockroachDB's previous behavior: users granted a privilege withWITH GRANT OPTION
can in turn grant that privilege to others. Whensql.auth.grant_option_inheritance.enabled
is set tofalse
, theGRANT OPTION
is not inherited through role membership, thereby preventing descendant roles from granting the privilege to others. However, the privilege itself continues to be inherited through role membership. #125590 - The
pg_catalog.pg_attribute
table now has a column namedattishidden
, which indicates if the table column or attribute isNOT VISIBLE
. #126397
Bug fixes
- Fixed a bug that could cause internal errors when a routine had polymorphic parameters or a polymorphic return type or both. The bug has existed since v22.2 when user-defined functions (UDFs) were introduced. #123459
- In
SHOW CREATE
output, the name of an enum type is now formatted as a two-part name (schema.enum_type
) instead of a three-part name (database.schema.enum_type
). This change makes it easier to apply the output with enum types to other databases. #125996 - When altering the data type of columns with the hidden attribute (
NOT VISIBLE
), the alteration now preserves the hidden attribute in the column. Additionally, type alterations for columns withON UPDATE
expressions orDEFAULT
expressions are now allowed. #126033 - Fixed a bug where a user-defined function (UDF) that shared a name with a built-in function would not be resolved, even if the UDF had higher precedence according to the
search_path
variable. #126281 - Expressions of type
BYTES[]
are now correctly formatted inpg_catalog
tables. #126297 - Fixed a bug that could cause spurious user permission errors when multiple databases shared a common schema with a routine referencing a table. The bug has existed since v22.2 when user-defined functions (UDFs) were introduced. #123459 #126349
- Hidden columns are now included in the
indkey
column ofpg_catalog.pg_index
. #126397 - Fixed a bug when inputting
public
role as user name for built-in compatibility functions, such ashas_database_privilege
andhas_schema_privilege
. #126211 - Fixed a bug when restoring a database with a composite type. #126351
- Fixed a bug when creating partial statistics with the
USING EXTREMES
option (which is disabled by default) where it would occasionally use incorrect extreme values and collect no stats. This bug occurred when outer buckets were added to the previous histogram to account for extra distinct count. #126403 - In the DB Console event log,
ALTER ROLE
events now display correctly even when no role options are included in theALTER ROLE
statement. #126354 - Fixed a bug where
ALTER DATABASE ... DROP REGION
could fail if any tables under the given database have indexes on expressions. #126555
Performance improvements
- Starting a
cockroach
process will no longer flush buffered logs to configured logging sinks unless the process is running undersystemd
, wherecockroach
runs with theNOTIFY_SOCKET
environment variable. #125971
Contributors
This release includes 130 merged PRs by 42 authors.
v24.2.0-alpha.1
Release Date: July 1, 2024
Downloads
CockroachDB v24.2.0-alpha.1 is a testing release. Testing releases are intended for testing and experimentation only, and are not qualified for production environments and not eligible for support or uptime SLA commitments.
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
Operating System | Architecture | Full executable | SQL-only executable |
---|---|---|---|
Linux | Intel | cockroach-v24.2.0-alpha.1.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.1.linux-amd64.tgz (SHA256) |
ARM | cockroach-v24.2.0-alpha.1.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.1.linux-arm64.tgz (SHA256) |
|
Mac (Experimental) |
Intel | cockroach-v24.2.0-alpha.1.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.1.darwin-10.9-amd64.tgz (SHA256) |
ARM | cockroach-v24.2.0-alpha.1.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.1.darwin-11.0-arm64.tgz (SHA256) |
|
Windows (Experimental) |
Intel | cockroach-v24.2.0-alpha.1.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.0-alpha.1.windows-6.2-amd64.zip (SHA256) |
Docker image
[Multi-platform images](https://docs.docker.com/build/building/multi-platform/) include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host. Within the multi-platform image, both Intel and ARM images are **generally available** for production use. To download the Docker image:docker pull cockroachdb/cockroach-unstable:v24.2.0-alpha.1
Source tag
To view or download the source code for CockroachDB v24.2.0-alpha.1 on Github, visit v24.2.0-alpha.1 source tag.
General changes
- The following metrics were added for observability into the source of disk writes:
storage.category-pebble-wal.bytes-written
storage.category-pebble-compaction.bytes-written
storage.category-pebble-ingestion.bytes-written
storage.category-pebble-memtable-flush.bytes-written
storage.category-raft-snapshot.bytes-written
storage.category-encryption-registry.bytes-written
storage.category-crdb-log.bytes-written
storage.category-sql-row-spill.bytes-written
storage.category-sql-col-spill.bytes-written
storage.category-unspecified.bytes-written
#119024
- The
storage.value_blocks.enabled
cluster setting has been removed; value blocks are always enabled. #122164 - The following metrics were added for improved observability into disk bandwidth:
storage.disk.read-max.bytespersecond
storage.disk.write-max.bytespersecond
#121553
- Added two new cluster settings,
storage.sstable.compression_algorithm_backup_storage
andstorage.sstable.compression_algorithm_backup_transport
, which in addition to the existing cluster settingstorage.sstable.compression_algorithm
, can be used to alter the compression algorithm used for various types of SSTs. #124245
Enterprise edition changes
SHOW CHANGEFEED JOB
,SHOW CHANGEFEED JOBS
, andSHOW JOBS
no longer expose user sensitive information likeclient_key
. #122529- Added the new option
encode_json_value_null_as_object
to JSON-formatted changefeeds that outputs'null'::jsonb
as{"__crdb_json_null__": true}
instead ofnull
, to disambiguate between SQL-null and JSON-null. With this option enabled, if the literal value{"__crdb_json_null__": true}
is present in a JSON value, it will have the same representation as JSON-null with this option enabled. If such a value is encountered in a changefeed, a (rate-limited) warning will be printed to theDEV
channel. #122848 - Added an error message for changefeed options and parameters that are not supported by the Apache Pulsar sink. #124581
- Scheduled changefeeds now pause after being restored onto a different cluster, and after completion of physical cluster replication to avoid inadvertent concurrent execution of the same schedule on multiple clusters. #124631
- The
DEBUG_PAUSE_ON
option has been removed and replaced with therestore.restore_after_failure
pause point to match other pause points used throughout CockroachDB. You can set this pause point by running:SET CLUSTER SETTING jobs.debug.pausepoints = 'restore.after_restore_failure'
. #125158
SQL language changes
- Default schema privilege changes will now be reflected and can be monitored in the
pg_default_acl
table. #121506 - The schema of the
pg_catalog.pg_proc
virtual table now matches exactly that of PostgreSQL versions 14–16. The following changes are applied:proisagg
andproiswindow
columns are removed (done in v11).protransform
column is removed (done in v12).prosqlbody
column is added (done in v14).prosupport
andprokind
columns are moved into their correct spot (these were incorrectly present at the end of the columns list). #121966
- Added
SHOW EXTERNAL CONNECTIONS
andSHOW EXTERNAL CONNECTION <connection name>
. These queries display redacted connection URIs and other useful information, such as the connection type. Access to these queries is restricted to the owner of the connection or users withUSAGE
privilege.admin
orroot
users will have unrestricted access to all connections. #123545 - Using the
CREATE STATISTICS
query without theAS OF SYSTEM TIME
option could contend with concurrent transactions and cost performance. RunningCREATE STATISTICS
without specifyingAS OF SYSTEM TIME
now uses a default of-1us
. #124488 - The
nodes
field of theEXPLAIN ANALYZE
output has been renamed tosql nodes
to clarify that this field describes SQL processing and it does not include any information about KV nodes that might have participated in the query execution. #124681 EXPLAIN ANALYZE
output now has a new fieldKV nodes
that includes all KV nodes that were used to serve read requests by a particular SQL operator. #124681- Fixed the
Regions
field in theEXPLAIN ANALYZE
output to include regions of KV nodes. Previously, only regions of SQL nodes involved in query processing were included. #124888 - Allow foreign keys to be created over stored computed columns. However, most
ON UPDATE
andON DELETE
options for foreign key constraints are not allowed with computed columns. OnlyON UPDATE (NO ACTION|RESTRICT)
andON DELETE (NO ACTION|RESTRICT|CASCADE)
are supported. #124851 EXPLAIN ANALYZE
output now has a new fieldused follower read
to SQL operators whenever their reads were served by the follower replicas. Previously, this information was only available in the trace. #125152- The new attribute
historical: AS OF SYSTEM TIME ...
is now included inEXPLAIN ANALYZE
output whenever the query performs historical reads. #125152 EXPLAIN ANALYZE
statements are now supported when executed via UI SQL shell. #125455- Histograms are no longer constructed using a default sample size of
10k
. Samples are now dynamically sized based on table size unless the sample count has been set in the table or cluster settings. #125345 - The optimizer will now generate plans utilizing partial indexes with
IS NOT NULL
predicates in more cases. #125487 - The
SHOW TYPES
statement now includes user-defined composite types. It omitted those types ever since composite types were added in v23.1. #124730 - Added the
COMMENT ON TYPE
statement for implicit transactions. #124942
Operational changes
- Added a distinction between row updates (
row
) and resolved timestamp (resolved
) messages in some changefeed metrics. #122645 - Modified the default Grafana dashboards to include a breakdown by message type for the
changefeed_emitted_rows
metric. #122802 - Updated the generated doc descriptions for system visible cluster settings to reflect these are read-only for CockroachDB Serverless and read-write for the other deployments. #124028
- Added the cluster setting
debug.zip.redact_addresses.enabled
that allows the user to enable or disable redaction of fields likehostname
and IP addresses. #123544 - Improved disk usage metric reporting over volumes that dynamically change their size over the life of the
cockroach
process. #124999 crdb_internal.cluster_execution_insights.txt
andcrdb_internal.cluster_txn_execution_insights.txt
have been removed from the debug zip. These files contained cluster-wide insights for statements and transactions. Users can still rely on the per-node execution insights incrdb_internal.node_execution_insights.txt
andcrdb_internal.node_txn_execution_insights.txt
. #125654- Removed the stuck rangefeed cancel feature and its related cluster setting
kv.rangefeed.range_stuck_threshold
, because it was only available in non-mux rangefeeds. Previously, the stuck rangefeed cancel feature was introduced to restart single rangefeeds automatically if they had not received KV updates for some time. #125663 - Fixed a bug where collection of debug information for very long-running jobs could use excessive space in the
job_info
system table and/or cause some interactions with the jobs system to become slow. #126084 - All system tables are now visible in application virtual clusters that were created before v24.1. #125979
DB Console changes
- The Goroutine Scheduling Latency graph has been added to the Runtime dasboard. #121369
- Updated the time format to use a
.
(dot) as separation between seconds and milliseconds, which affects many pages in the DB Console. #121456 - The Storage dashboard now contains a graph categorizing disk writes that contribute to
sys.host.disk.write.bytes
according to the source of the write (WAL, compactions, SSTable ingestion, memtable flushes, raft snapshots, encryption registry, logs, SQL columnar spill, or SQL row spill). #119024 - The favicon now renders properly for the DB Console along with other image files. #121380
- The color of Unavailable Ranges in the Summary panel of the Replication dashboard is now red when nonzero. #123120
- Removed the
$
sign on the Databases and Jobs pages in the DB Console. #125370 - Added two graphs to the Storage dashboard that display count and size of L0 SSTables in Pebble. This provides increased visibility into L0 compaction issues. #125653
- Removed the p95 metrics from the tooltip on the Job Latency graph of the TTL dashboard, because there are no p95 values computed for any of the metrics. #122345
- Updated the Storage dashboard graphs to show most metrics on a per-store basis when viewing a single node's metrics. This provides increased visibility into issues caused by specific stores on each node. #125699
Bug fixes
- Fixed a crash introduced in v23.2.5 and v24.1.0-beta.2 that could occur when planning statistics collection on a table with a virtual computed column using a user-defined type when the newly introduced cluster setting
sql.stats.virtual_computed_columns.enabled
is set totrue
. This setting was introduced in v23.2.4 and v24.1.0-alpha.1. #123926 - Fixed handling in the declarative schema changer when columns are included in the
STORING()
clause ofCREATE INDEX
. It now checks if the column is virtual beforehand, and properly detects when a column is already handled by an existing index when the column name has UTF-8 characters. #124981 - Fixed an issue where adding a column with a default value of an empty array would not succeed. #125284
ALTER TABLE ... ADD CONSTRAINT UNIQUE
will now fail with a well-formed error message and code42601
if a statement tries to add aUNIQUE
constraint on an expression. #125282- Resolved a log message that read:
expiration of liveness record ... is not greater than expiration of the previous lease ... after liveness heartbeat
. This message is no longer possible. #124885 - Fixed a bug in v24.1, v23.2, and v23.1 where using the
changefeed.aggregator.flush_jitter
cluster setting withmin_checkpoint_frequency
set to0
could cause panics. #125317 - Fixed a bug where the
public
schema would be created with the wrong owner. Previously, theadmin
role would own thepublic
schema. Now the database owner is also the owner of thepublic
schema. The ownership can be altered after the schema is created. #124894 - Previously, CockroachDB would hit an internal error when evaluating inserts into
REGIONAL BY ROW
tables where the source is aVALUES
clause with a single row and at least one boolean expression. The bug was introduced in v23.2.0 and is now fixed. #125492 - Fixed a bug in logging where an error code was misreported for canceled queries. This bug affected the
SQL_PERF
(slow query logs) andSQL_EXEC
(sql exec logs) logging channels. #124371 - Fixed a bug in which constant
LIKE
patterns containing certain sequences of backslashes did not become constrained scans. This bug has been present since v21.1.13 when support for building constrained scans fromLIKE
patterns containing backslashes was added. #125507 - Fixed a bug introduced in v22.1 where
cockroach-sql
does not recognize the--format
flag. #124735 - Fixed a bug where
CREATE TABLE
with index expressions could hit undefined column errors on transaction retries. #125910 - Fixed a bug where some DDL and administrative statements used within a common table expression would fail with an
unrecognized relational expression type
internal error. #125959 - Fixed a bug in
cockroach debug tsdump
where the command fails when a custom SQL port is used and the--format=raw
flag is provided. #125626 - Attempts to alter the data type of a column used in a computed column expression are now blocked. #125870
- Fixed the statistics estimation code in the optimizer so it does not use the empty histograms produced if histogram collection has been disabled during stats collection due to excessive memory utilization. Now the optimizer will rely on distinct counts instead of the empty histograms and should produce better plans as a result. This bug has existed since CockroachDB v22.1. #125968
Performance improvements
- More efficient query plans are now generated for queries with text similarity filters, e.g.,
text_col % 'foobar'
. These plans are generated if theoptimizer_use_trigram_similarity_optimization
session setting is enabled, which it is by default. This setting is disabled by default in previous versions. #121973 - Schema changes that cause a data backfill, such as adding a non-nullable column or changing the primary key, will now split and scatter the temporary indexes used to perform the change. This reduces the chance of causing a write hotspot that can slow down foreground traffic. #120736
- Multiple or large numbers of grants on tables and types within one transaction now run faster. #123414
- Lock operations are now removed from query plans when the optimizer can prove that no rows would be locked. #124830
- Some privilege checks when scanning the
crdb_internal.system_jobs
internal table now happen once before the scan, instead of once for each row. This will improve performance for queries that read fromcrdb_internal.system_jobs
. #117438 - Improved the initial range descriptor scan on startup. Node startup should now be faster on larger stores. #123959
- Previously, concurrent transactions that constructed large write batches could cause hotspots. This was because the transaction record for all ranges would coalesce on a single range, which would then cause this range's leaseholder to perform all intent resolution work. This is fixed by distributing transaction records randomly across the ranges the write batch touches. In turn, hotspots are prevented. #125744
Contributors
This release includes 1234 merged PRs by 97 authors.