What's New in v24.2

On this page Carat arrow pointing down
Note:

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

Warning:

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.

Note:

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:
icon/buttons/copy
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

Bug fixes

  • Fixed a formatting issue with the sql_sequence_cached_node value of the serial_normalization setting. This could lead to an error connecting to CockroachDB if this value was set as the default for serial_normalization via cluster setting sql.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

Warning:

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.

Note:

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:
icon/buttons/copy
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

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 to true (the default), the GRANT 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 to false, the GRANT 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 the GRANT OPTION is granted to them explicitly. #126960
  • Fixed a bug in which the DISCARD statement was disallowed when the session setting default_transaction_read_only = on. cockroachdb/cockroach#127364

Bug fixes

Contributors

This release includes 45 merged PRs by 18 authors.

v24.2.0-beta.1

Release Date: July 18, 2024

Downloads

Warning:

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.

Note:

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:
icon/buttons/copy
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 to auto, 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 to force_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 the EXPLAIN ANALYZE output includes a plan 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, or custom for other plans.
  • The output of SHOW GRANTS for a role now includes privileges inherited from the public 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 setting sql.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 the cockroach 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 and ORDER BY col DESC NULLS FIRST when col is guaranteed to not be NULL. #126685

Contributors

This release includes 96 merged PRs by 49 authors.

v24.2.0-alpha.2

Release Date: July 10, 2024

Downloads

Warning:

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.

Note:

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:
icon/buttons/copy
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

SQL language changes

  • Added the sql.auth.grant_option_inheritance.enabled cluster setting. The default value is true, which maintains consistency with CockroachDB's previous behavior: users granted a privilege with WITH GRANT OPTION can in turn grant that privilege to others. When sql.auth.grant_option_inheritance.enabled is set to false, the GRANT 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 named attishidden, which indicates if the table column or attribute is NOT VISIBLE. #126397

Bug fixes

Performance improvements

Contributors

This release includes 130 merged PRs by 42 authors.

v24.2.0-alpha.1

Release Date: July 1, 2024

Downloads

Warning:

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.

Note:

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:
icon/buttons/copy
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 and storage.sstable.compression_algorithm_backup_transport, which in addition to the existing cluster setting storage.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, and SHOW JOBS no longer expose user sensitive information like client_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 of null, 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 the DEV 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 the restore.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 and proiswindow columns are removed (done in v11).
    • protransform column is removed (done in v12).
    • prosqlbody column is added (done in v14).
    • prosupport and prokind columns are moved into their correct spot (these were incorrectly present at the end of the columns list). #121966
  • Added SHOW EXTERNAL CONNECTIONS and SHOW 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 with USAGE privilege. admin or root users will have unrestricted access to all connections. #123545
  • Using the CREATE STATISTICS query without the AS OF SYSTEM TIME option could contend with concurrent transactions and cost performance. Running CREATE STATISTICS without specifying AS OF SYSTEM TIME now uses a default of -1us. #124488
  • The nodes field of the EXPLAIN ANALYZE output has been renamed to sql 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 field KV nodes that includes all KV nodes that were used to serve read requests by a particular SQL operator. #124681
  • Fixed the Regions field in the EXPLAIN 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 and ON DELETE options for foreign key constraints are not allowed with computed columns. Only ON UPDATE (NO ACTION|RESTRICT) and ON DELETE (NO ACTION|RESTRICT|CASCADE) are supported. #124851
  • EXPLAIN ANALYZE output now has a new field used 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 in EXPLAIN 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 like hostname 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 and crdb_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 in crdb_internal.node_execution_insights.txt and crdb_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 to true. 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 of CREATE 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 code 42601 if a statement tries to add a UNIQUE 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 with min_checkpoint_frequency set to 0 could cause panics. #125317
  • Fixed a bug where the public schema would be created with the wrong owner. Previously, the admin role would own the public schema. Now the database owner is also the owner of the public 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 a VALUES 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) and SQL_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 from LIKE 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 the optimizer_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 from crdb_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.


Yes No
On this page

Yes No