Skip to content

Commit 56fdf25

Browse files
authored
Merge branch 'main' into molt-replicator
2 parents c84c05c + 79d9217 commit 56fdf25

File tree

179 files changed

+531
-425
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+531
-425
lines changed

src/current/_data/redirects.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,6 +527,10 @@
527527
sources: ['admin-ui-storage-dashboard.md']
528528
versions: ['v20.2', 'v21.1']
529529

530+
- destination: ui-top-ranges-page.md
531+
sources: ['ui-hot-ranges-page.md']
532+
versions: ['v25.4']
533+
530534
- destination: use-a-local-file-server-for-bulk-operations.md
531535
sources: ['create-a-file-server.md']
532536
versions: ['v20.2', 'v21.1']

src/current/_data/releases.yml

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9533,4 +9533,59 @@
95339533
docker_arm_experimental: false
95349534
docker_arm_limited_access: false
95359535
source: true
9536-
previous_release: v25.4.0-alpha.1
9536+
previous_release: v25.4.0-alpha.1
9537+
9538+
- release_name: v25.4.0-beta.1
9539+
major_version: v25.4
9540+
release_date: '2025-10-01'
9541+
release_type: Testing
9542+
go_version: go1.23.12
9543+
sha: 79755b7c45a9fb7faf07098b721f2ec696cbdcd1
9544+
has_sql_only: true
9545+
has_sha256sum: true
9546+
mac:
9547+
mac_arm: true
9548+
mac_arm_experimental: true
9549+
mac_arm_limited_access: false
9550+
windows: true
9551+
linux:
9552+
linux_arm: true
9553+
linux_arm_experimental: false
9554+
linux_arm_limited_access: false
9555+
linux_intel_fips: true
9556+
linux_arm_fips: false
9557+
docker:
9558+
docker_image: cockroachdb/cockroach-unstable
9559+
docker_arm: true
9560+
docker_arm_experimental: false
9561+
docker_arm_limited_access: false
9562+
source: true
9563+
previous_release: v25.4.0-alpha.2
9564+
9565+
9566+
- release_name: v25.4.0-beta.2
9567+
major_version: v25.4
9568+
release_date: '2025-10-10'
9569+
release_type: Testing
9570+
go_version: go1.23.12
9571+
sha: c9fbbfff437b9283883a269402038f5952cc4863
9572+
has_sql_only: true
9573+
has_sha256sum: true
9574+
mac:
9575+
mac_arm: true
9576+
mac_arm_experimental: true
9577+
mac_arm_limited_access: false
9578+
windows: true
9579+
linux:
9580+
linux_arm: true
9581+
linux_arm_experimental: false
9582+
linux_arm_limited_access: false
9583+
linux_intel_fips: true
9584+
linux_arm_fips: false
9585+
docker:
9586+
docker_image: cockroachdb/cockroach-unstable
9587+
docker_arm: true
9588+
docker_arm_experimental: false
9589+
docker_arm_limited_access: false
9590+
source: true
9591+
previous_release: v25.4.0-beta.1

src/current/_data/versions.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ v24.3,2024-11-18,2025-11-18,2026-05-18,24.3.11,24.3.12,2025-05-05,2026-05-05,202
1818
v25.1,2025-02-18,2025-08-18,N/A,N/A,N/A,N/A,N/A,N/A,v24.3,release-25.1,2029-02-18
1919
v25.2,2025-05-09,2026-05-12,2026-11-12,N/A,N/A,N/A,N/A,N/A,v25.1,release-25.2,2029-05-09
2020
v25.3,2025-08-04,2026-02-04,N/A,N/A,N/A,N/A,N/A,N/A,v25.2,release-25.3,2029-08-04
21-
v25.4,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,v25.3,release-25.3,N/A
21+
v25.4,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,v25.3,release-25.4,N/A

src/current/_includes/cockroachcloud/cdc/create-core-changefeed-avro.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ In this example, you'll set up a core changefeed for a single-node cluster that
1010
--background
1111
~~~
1212

13-
1. Download and extract the [Confluent Open Source platform](https://www.confluent.io/download/).
13+
1. Download and extract the [Confluent platform](https://www.confluent.io/download/).
1414

1515
1. Move into the extracted `confluent-<version>` directory and start Confluent:
1616

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{% if page.path contains "cockroachcloud" %}
2+
{{ site.data.alerts.callout_danger }}
3+
Cockroach Labs does not officially support S3-compatible storage solutions other than AWS S3, Google Cloud Storage (GCS), and Azure Blob Storage. Some common compatibility issues may be fixed by adding the `AWS_SKIP_CHECKSUM` option to the S3 URLs.
4+
5+
The [Cockroach Labs Support team]({% link {{ site.current_cloud_version }}/support-resources.md %}) is available to offer assistance where possible. If you encounter issues when using unsupported S3-compatible storage, drivers, or frameworks, contact the maintainer directly.
6+
{{ site.data.alerts.end }}
7+
{% else %}
8+
{{ site.data.alerts.callout_danger }}
9+
Cockroach Labs does not officially support S3-compatible storage solutions other than AWS S3, Google Cloud Storage (GCS), and Azure Blob Storage.{% if page.version.version !="v24.1" %} Some common compatibility issues may be fixed by adding the `AWS_SKIP_CHECKSUM` option to the S3 URLs.{% endif %}.
10+
11+
12+
The [Cockroach Labs Support team]({% link {{page.version.version}}/support-resources.md %}) is available to offer assistance where possible. If you encounter issues when using unsupported S3-compatible storage, drivers, or frameworks, contact the maintainer.
13+
{{ site.data.alerts.end }}
14+
{% endif %}

src/current/_includes/releases/v25.3/v25.3.2.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ Release Date: September 22, 2025
44

55
{% include releases/new-release-downloads-docker-image.md release=include.release %}
66

7+
<h3 id="v25-3-2-general-changes">General changes</h3>
8+
9+
- Introduced support for running CockroachDB on s390x. Production binaries are delivered via IBM Passport Advantage.
10+
711
<h3 id="v25-3-2-sql-language-changes">SQL language changes</h3>
812

913
- Added a new session variable, `disable_optimizer_rules`, which allows users to provide a comma-separated list of optimizer rules to disable during query optimization. This allows users to avoid rules that are known to create a suboptimal query plan for specific queries. [#152350][#152350]
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
## v25.4.0-beta.1
2+
3+
Release Date: October 1, 2025
4+
5+
{% include releases/new-release-downloads-docker-image.md release=include.release %}
6+
7+
<h3 id="v25-4-0-beta-1-sql-language-changes">SQL language changes</h3>
8+
9+
- The logical cluster now uses an external connection and automatically updates its configuration when that connection changes. [#149261][#149261]
10+
- Included `num_txn_retries` and `num_txn_auto_retries` into the `crdb_internal.{cluster,node}_queries` virtual tables as well as output of SHOW QUERIES. These columns, when not NULL, have the same information as `num_retries` and `num_auto_retries` columns of `crdb_internal.{cluster,node}_transactions` virtual tables for the same transaction in which the active query is executed. [#149503][#149503]
11+
- Tables with vector indexes will no longer be taken offline while the vector index builds. [#151074][#151074]
12+
- Introduced the unimplemented `SHOW INSPECT ERRORS` statement. [#151674][#151674]
13+
- Added a built-in function, `crdb_internal.request_transaction_bundle`, that allows users to request a transaction diagnostics bundle for a specified transaction fingerprint ID. [#153608][#153608]
14+
- Implemented the `pg_get_function_arg_default` builtin function. This also causes the `information_schema.parameters(parameter_default)` column to be populated correctly. [#153625][#153625]
15+
16+
<h3 id="v25-4-0-beta-1-operational-changes">Operational changes</h3>
17+
18+
- Removed the `bulkio.backup.deprecated_full_backup_with_subdir.enabled` cluster setting, since backups will now fail if this is set to true. [#153628][#153628]
19+
- Raised the cache size for the storage engine's block cache to 256 MiB. Note that production systems should always configure this setting. [#153739][#153739]
20+
- Deprecated the bespoke restore and import event logs. For any deployment that is reliant on those logs, use the status change event log which now plumbs the SQL user that owns the job. [#153889][#153889]
21+
- The `incremental_location` option is now deprecated and will be removed in a future release. This feature was added so customers could define different TTL policies for incremental backups vs full backups. Users can still do this since incremental backups are by default stored in a distinct directory relative to full backups ({collection_root}/incrementals). [#153890][#153890]
22+
23+
<h3 id="v25-4-0-beta-1-db-console-changes">DB Console changes</h3>
24+
25+
- In the DB Console, the **Active Executions** table on the Statements and Transactions pages now includes a new **Isolation Level** column. The Sessions page also includes a new **Default Isolation Level** column. [#153617][#153617]
26+
27+
<h3 id="v25-4-0-beta-1-bug-fixes">Bug fixes</h3>
28+
29+
- Fixed a bug where a CockroachDB node could crash when executing DO statements that contain user-defined types (possibly non-existing) in non-default configuration. [#151849][#151849]
30+
- Fixed a deadlock in `DROP COLUMN CASCADE` operations when dropping columns referenced by `STORED` computed columns. [#153683][#153683]
31+
- Fixed a bug where `ALTER POLICY` was incorrectly dropping dependency tracking for functions, sequences, or types in policy expressions. [#153787][#153787]
32+
- Fixed a bug where we would not show the pgwire `RowDescription` for `EXECUTE` statements that were themselves prepared using the pgwire `Parse` command. [#153905][#153905]
33+
- Fixed a runtime error that could be hit if a new secondary index had a name collision with a primary index. [#153986][#153986]
34+
35+
<h3 id="v25-4-0-beta-1-miscellaneous">Miscellaneous</h3>
36+
37+
- Fixed a bug where the presence of duplicate temporary tables in a backup caused the restore to fail with a `restoring table desc and namespace entries: table already exists` error. Informs: #153722 [#153724][#153724]
38+
39+
40+
[#153739]: https://github.com/cockroachdb/cockroach/pull/153739
41+
[#153889]: https://github.com/cockroachdb/cockroach/pull/153889
42+
[#151849]: https://github.com/cockroachdb/cockroach/pull/151849
43+
[#153683]: https://github.com/cockroachdb/cockroach/pull/153683
44+
[#151674]: https://github.com/cockroachdb/cockroach/pull/151674
45+
[#149503]: https://github.com/cockroachdb/cockroach/pull/149503
46+
[#151074]: https://github.com/cockroachdb/cockroach/pull/151074
47+
[#153628]: https://github.com/cockroachdb/cockroach/pull/153628
48+
[#149261]: https://github.com/cockroachdb/cockroach/pull/149261
49+
[#153890]: https://github.com/cockroachdb/cockroach/pull/153890
50+
[#153905]: https://github.com/cockroachdb/cockroach/pull/153905
51+
[#153608]: https://github.com/cockroachdb/cockroach/pull/153608
52+
[#153617]: https://github.com/cockroachdb/cockroach/pull/153617
53+
[#153787]: https://github.com/cockroachdb/cockroach/pull/153787
54+
[#153986]: https://github.com/cockroachdb/cockroach/pull/153986
55+
[#153724]: https://github.com/cockroachdb/cockroach/pull/153724
56+
[#153625]: https://github.com/cockroachdb/cockroach/pull/153625
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
## v25.4.0-beta.2
2+
3+
Release Date: October 10, 2025
4+
5+
{% include releases/new-release-downloads-docker-image.md release=include.release %}
6+
7+
<h3 id="v25-4-0-beta-2-general-changes">General changes</h3>
8+
9+
- The changefeed bulk
10+
delivery setting was made optional. [#154953][#154953]
11+
12+
<h3 id="v25-4-0-beta-2-sql-language-changes">SQL language changes</h3>
13+
14+
- Added the `SHOW INSPECT ERRORS` command. This command can be used to view issues that are identified by running the `INSPECT` command to validate tables and indexes. [#154337][#154337]
15+
- Added the `sql.catalog.allow_leased_descriptors.enabled` cluster setting, which is false by default. When set to true, queries that access the `pg_catalog` or `information_schema` can use cached leased descriptors to populate the data in those tables, with the tradeoff that some of the data could be stale. [#154491][#154491]
16+
- We now support index acceleration for a subset of jsonb_path_exists filters. Given the `jsonb_path_exists(json_obj, json_path_expression)`, we only support inverted index for json_path_expression that matches one of the following patterns:
17+
- The json_path_expression must NOT be in STRICT mode.
18+
- keychain mode: $.[key|wildcard].[key|wildcard]...
19+
- For this mode, we will generate a prefix span for the inverted expression.
20+
- filter with end value mode, with equality check: $.[key|wildcard]? (@.[key|wildcard].[key|wildcard]... == [string|number|null|boolean])
21+
- For this mode, since the end value is fixed, we will generate a single value span.
22+
- Specifically, we don't support the following edge case:
23+
- $
24+
- $[*]
25+
- $.a.b.c == 12 or $.a.b.c > 12 or $.a.b.c < 12 (operation expression)
26+
- $.a.b ? (@.a > 10) (filter, with inequality check)
27+
- Note that the cases we support is to use `jsonb_path_exists` in filters, as in, when they are used in the WHERE clause. [#154631][#154631]
28+
- The optimizer can now use table statistics that merge the latest full statistic with all newer partial statistics, including those over arbitrary constraints over a single span. [#154755][#154755]
29+
30+
<h3 id="v25-4-0-beta-2-operational-changes">Operational changes</h3>
31+
32+
- Two new changefeed metrics for tracking the max skew between a changefeed's slowest and fastest span/table have been added. The metrics are gauge metrics with the names `changefeed.progress_skew.{span,table}`. [#154166][#154166]
33+
- The metrics `sql.select.started.count`, `sql.insert.started.count`, `sql.update.started.count`, and `sql.delete.started.count` are now emitted with labels under the common metric name `sql.started.count`, using a `query_type` label to distinguish each operation. [#154388][#154388]
34+
- Added the cluster setting `storage.unhealthy_write_duration` (defaults to 20s), which is used to indicate to the allocator that a store's disk is unhealthy. The cluster setting `kv.allocator.disk_unhealthy_io_overload_score` controls the overload score assigned to a store with an unhealthy disk, where a higher score results in preventing lease or replica transfers to the store, or shedding of leases by the store. The default value of that setting is 0, so the allocator behavior is unaffected. [#154459][#154459]
35+
- Added cluster setting `sql.schema.approx_max_object_count` (default: 20,000) to prevent creation of new schema objects when the limit is exceeded. The check uses cached table statistics for performance and is approximate - it may not be immediately accurate until table statistics are updated by the background statistics refreshing job. Clusters that have been running stably with a larger object count should raise the limit or disable the limit by setting the value to 0. In future releases, the default value for this setting will be raised as more CockroachDB features support larger object counts. [#154576][#154576]
36+
37+
<h3 id="v25-4-0-beta-2-bug-fixes">Bug fixes</h3>
38+
39+
- Vector index backfill will now properly track job progress in SHOW JOBS output. [#154261][#154261]
40+
- A bug has been fixed that caused panics when executing `COPY` into a table with hidden columns and expression indexes. The panic only occurred when the `expect_and_ignore_not_visible_columns_in_copy` setting was enabled. This bug has been present since `expect_and_ignore_not_visible_columns_in_copy` was introduced in v22.1.0. [#154289][#154289]
41+
- **Idle latency** on the **Transaction Details** page in the DB Console is now reported more accurately. Previously, transactions that used prepared statements (e.g., with placeholders) overcounted idle time, while those that included observer statements (common in the SQL CLI) undercounted it. [#154385][#154385]
42+
- Fixed a bug where `RESTORE` of a database with a `SECONDARY REGION` did not apply the lease preferences for that region. [#154659][#154659]
43+
- A bug where a changefeed could perform many unnecessary job progress saves during an initial scan has been fixed. [#154709][#154709]
44+
- A bug where a changefeed targeting only a subset of a table's column families could become stuck has been fixed. [#154915][#154915]
45+
46+
<h3 id="v25-4-0-beta-2-performance-improvements">Performance improvements</h3>
47+
48+
- The cost of generic query plans is now calculated based on worst-case selectivities for placeholder equalities (e.g., x = $1). This reduces the chance of suboptimal generic query plans being chosen when `plan_cache_mode=auto`. [#154899][#154899]
49+
50+
[#154337]: https://github.com/cockroachdb/cockroach/pull/154337
51+
[#154491]: https://github.com/cockroachdb/cockroach/pull/154491
52+
[#154388]: https://github.com/cockroachdb/cockroach/pull/154388
53+
[#154459]: https://github.com/cockroachdb/cockroach/pull/154459
54+
[#154385]: https://github.com/cockroachdb/cockroach/pull/154385
55+
[#154755]: https://github.com/cockroachdb/cockroach/pull/154755
56+
[#154576]: https://github.com/cockroachdb/cockroach/pull/154576
57+
[#154915]: https://github.com/cockroachdb/cockroach/pull/154915
58+
[#154631]: https://github.com/cockroachdb/cockroach/pull/154631
59+
[#154261]: https://github.com/cockroachdb/cockroach/pull/154261
60+
[#154659]: https://github.com/cockroachdb/cockroach/pull/154659
61+
[#154953]: https://github.com/cockroachdb/cockroach/pull/154953
62+
[#154166]: https://github.com/cockroachdb/cockroach/pull/154166
63+
[#154289]: https://github.com/cockroachdb/cockroach/pull/154289
64+
[#154709]: https://github.com/cockroachdb/cockroach/pull/154709
65+
[#154899]: https://github.com/cockroachdb/cockroach/pull/154899

src/current/_includes/v24.1/essential-alerts.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,9 +318,9 @@ Send an alert when the number of ranges with replication below the replication f
318318

319319
- Refer to [Replication issues]({% link {{ page.version.version }}/cluster-setup-troubleshooting.md %}#replication-issues).
320320

321-
### Requests stuck in raft
321+
### Requests stuck in Raft
322322

323-
Send an alert when requests are taking a very long time in replication. An (evaluated) request has to pass through the replication layer, notably the quota pool and raft. If it fails to do so within a highly permissive duration, the gauge is incremented (and decremented again once the request is either applied or returns an error). A nonzero value indicates range or replica unavailability, and should be investigated.
323+
Send an alert when requests are taking a very long time in replication. An (evaluated) request has to pass through the replication layer, notably the quota pool and raft. If it fails to do so within a highly permissive duration, the gauge is incremented (and decremented again once the request is either applied or returns an error). A nonzero value indicates range or replica unavailability, and should be investigated. This can also be a symptom of a [leader-leaseholder split]({% link {{ page.version.version }}/architecture/replication-layer.md %}#leader-leaseholder-splits).
324324

325325
**Metric**
326326
<br>`requests.slow.raft`

src/current/_includes/v24.1/performance/increase-server-side-retries.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
<a id="result-buffer-size"></a>
44

5-
- Limit the size of the result sets of your transactions to under 16KB, so that CockroachDB is more likely to [automatically retry]({% link {{ page.version.version }}/transactions.md %}#automatic-retries) when [previous reads are invalidated]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#read-refreshing) at a [pushed timestamp]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#timestamp-cache). When a transaction returns a result set over 16KB, even if that transaction has been sent as a single batch, CockroachDB cannot automatically retry the transaction. You can change the results buffer size for all new sessions using the `sql.defaults.results_buffer.size` [cluster setting](cluster-settings.html), or for a specific session using the `results_buffer_size` [connection parameter]({% link {{page.version.version}}/connection-parameters.md %}#additional-connection-parameters).
5+
- Limit the size of the result sets of your transactions to less than the value of the [`sql.defaults.results_buffer.size` cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}#setting-sql-defaults-results-buffer-size), so that CockroachDB is more likely to [automatically retry]({% link {{ page.version.version }}/transactions.md %}#automatic-retries) when [previous reads are invalidated]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#read-refreshing) at a [pushed timestamp]({% link {{ page.version.version }}/architecture/transaction-layer.md %}#timestamp-cache). When a transaction returns a result set larger than the configured buffer size, even if that transaction has been sent as a single batch, CockroachDB cannot automatically retry the transaction. You can change the results buffer size for all new sessions using the [`sql.defaults.results_buffer.size` cluster setting]({% link {{ page.version.version }}/cluster-settings.md %}#setting-sql-defaults-results-buffer-size), or for a specific session using the `results_buffer_size` [connection parameter]({% link {{page.version.version}}/connection-parameters.md %}#additional-connection-parameters).

0 commit comments

Comments
 (0)