Date: Tue, 2 Apr 2024 16:52:04 -0700
Subject: [PATCH 4/6] [DOC-9991] v24.1.0 alpha.5 release notes (#18433)
* [DOC-9901] Publish release notes for v24.1.0-alpha.5
Co-authored-by: Kathryn Hancox <44557882+kathancox@users.noreply.github.com>
---
src/current/_data/releases.yml | 27 ++++
.../releases/v24.1/v24.1.0-alpha.5.md | 116 ++++++++++++++++++
2 files changed, 143 insertions(+)
create mode 100644 src/current/_includes/releases/v24.1/v24.1.0-alpha.5.md
diff --git a/src/current/_data/releases.yml b/src/current/_data/releases.yml
index 65a920f3e41..481186082ba 100644
--- a/src/current/_data/releases.yml
+++ b/src/current/_data/releases.yml
@@ -5735,3 +5735,30 @@
docker_arm_limited_access: false
source: true
previous_release: v24.1.0-alpha.3
+
+- release_name: v24.1.0-alpha.5
+ major_version: v24.1
+ release_date: '2024-04-01'
+ release_type: Testing
+ go_version: go1.22.0
+ sha: 40cc14f35ef73ab5aed081329e2592301bc2254c
+ has_sql_only: true
+ has_sha256sum: true
+ mac:
+ mac_arm: true
+ mac_arm_experimental: true
+ mac_arm_limited_access: true
+ windows: true
+ linux:
+ linux_arm: true
+ linux_arm_experimental: false
+ linux_arm_limited_access: false
+ linux_intel_fips: true
+ linux_arm_fips: false
+ docker:
+ docker_image: cockroachdb/cockroach-unstable
+ docker_arm: true
+ docker_arm_experimental: false
+ docker_arm_limited_access: false
+ source: true
+ previous_release: v24.1.0-alpha.4
diff --git a/src/current/_includes/releases/v24.1/v24.1.0-alpha.5.md b/src/current/_includes/releases/v24.1/v24.1.0-alpha.5.md
new file mode 100644
index 00000000000..774b76620c9
--- /dev/null
+++ b/src/current/_includes/releases/v24.1/v24.1.0-alpha.5.md
@@ -0,0 +1,116 @@
+## v24.1.0-alpha.5
+
+Release Date: April 1, 2024
+
+{% include releases/release-downloads-docker-image.md release=include.release %}
+
+{{ site.data.products.enterprise }} edition changes
+
+- [Changefeeds]({% link v24.1/change-data-capture-overview.md %}) now default to evenly distributing their work across all replicas, including followers, regardless of leaseholder placement. To disable this behavior, set the [cluster setting]({% link v24.1/cluster-settings.md %}) `changefeed.balanced_distribution.enabled` to `false`. If disabled, changefeed planning reverts to its previous behavior for distributing work. [#120077][#120077]
+- When [physical cluster replication]({% link v24.1/physical-cluster-replication-overview.md %}) is enabled, the output of the `SHOW VIRTUAL CLUSTER ... WITH REPLICATION STATUS` command now displays replication lag. [#120782][#120782]
+- When [physical cluster replication]({% link v24.1/physical-cluster-replication-overview.md %}) is enabled, the output of the `SHOW VIRTUAL CLUSTER WITH REPLICATION STATUS to 1` command has changed:
+ - The output no longer displays `replication_job_id` or `service_mode` return fields.
+ - The `data_state` field has been renamed to `status`.
+ - The fields that are displayed are now ordered as follows: `retained_time`, `replicated_time`, `replication_lag`, `cutover_time`, `status`. [#120782][#120782]
+
+SQL language changes
+
+- You can now specify a condition for the [PL/pgSQL statements]({% link v24.1/plpgsql.md %}) `EXIT` and `CONTINUE`. [#120686][#120686]
+- A [stored procedure]({% link v24.1/stored-procedures.md %}) can now invoke another stored procedure using a [`CALL` statement]({% link v24.1/call.md %}). [#120674][#120674]
+- You can now use a [`SET TRANSACTION`]({% link v24.1/set-transaction.md %}) statement within a [PL/pgSQL stored procedure]({% link v24.1/plpgsql.md %}) to configure the transaction isolation level, timestamp, or priority, or to set the transaction to read-only. A `SET TRANSACTION` statement must immediately follow a `COMMIT` or `ROLLBACK`, with no other statements or block boundaries between them. [#120456][#120456]
+- The new [session variable]({% link v24.1/session-variables.md %}) `optimizer_use_virtual_computed_column_stats`, when enabled, configures the [cost-based optimizer]({% link v24.1/cost-based-optimizer.md %}) to use [table statistics]({% link v24.1/show-statistics.md %}) on virtual computed columns. [#120668][#120668]
+- An [identity column]({% link v24.1/create-table.md %}#identity-columns) can now drop the `IDENTITY` constraint and related sequence using the following SQL statement:
+
+ {% include_cached copy-clipboard.html %}
+ ~~~ sql
+ ALTER TABLE {table_name} ALTER COLUMN {column_name} DROP IDENTITY [IF EXISTS];
+ ~~~
+
+ `IF EXISTS` is optional, and skips the command if the column is not an identity column. [#119263][#119263]
+
+- A shared lock that is acquired explicitly using [`SELECT FOR SHARE`]({% link v24.1/select-for-update.md %}) or implicitly by a [read-committed transaction]({% link v24.1/read-committed.md %}), can now be re-acquired with higher strength by either using a [`SELECT FOR UPDATE`]({% link v24.1/select-for-update.md %}) statement or by writing to the key. [#119671][#119671]
+- [Stored procedures]({% link v24.1/stored-procedures.md %}) now support `OUT` and `INOUT` parameter classes. [#120851][#120851]
+- The [PL/pgSQL]({% link v24.1/plpgsql.md %}) `EXIT` and `CONTINUE` statements can now use labels to specify which loop or block is the target. [#120733][#120733]
+
+Operational changes
+
+- You can now enable asynchronous buffering of `file-group` [log sinks]({% link v24.1/configure-logs.md %}) using the `buffering` [configuration options]({% link v24.1/configure-logs.md %}#log-buffering-for-network-sinks) either by default or to an individual `file-group`. The `buffering` configuration option is incompatible with the `buffered-writes` configuration option. To try the `buffering` option, you must set `buffered-writes: false`. Cockroach Labs recommends setting `max-staleness` to `1s` and `flush-trigger-size` to `256KiB`. [#120428][#120428]
+- A minimum [Raft scheduler]({% link v24.1/architecture/replication-layer.md %}#raft) concurrency is now enforced per store so that nodes with many stores do not spread workers too thin. This helps to avoid high scheduler latency across replicas on a store when load is imbalanced. [#120162][#120162]
+- The new [metrics]({% link v24.1/metrics.md %}) `kv.split.estimated_stats` and `kv.split.total_bytes_estimates` track the number of splits that produce [MVCC]({% link v24.1/architecture/storage-layer.md %}#mvcc) statistic estimates and the total bytes of estimates produced. [#119894][#119894]
+- The new [cluster setting]({% link v24.1/cluster-settings.md %}) `storage.sstable.compression_algorithm` configures the compression algorithm used when compressing sstable blocks. [#120784][#120784]
+- The new [cluster setting]({% link v24.1/cluster-settings.md %}) `kv.dist_sender.proxy.enabled`, which is enabled by default, causes proxy requests to be routed through a follower replica when the leaseholder is unavailable. [#117340][#117340]
+- The new startup flag `--wal-failover` allows you to explicitly set the path for WAL failover of a single-store node. [#120783][#120783]
+- Cluster virtualization is now enabled using either of the new startup flags `--virtualized` or `--virtualized-empty` instead of the `--config-profile` flag. [#120813][#120813]
+- The following metrics, which track the SQL statistics subsystem's task to flush in-memory statistics to persisted storage, are now more consistent with other metrics used in the subsystem.
+ - `sql.stats.flushes.successful`: Number of times SQL statistics have been flushed successfully to persistent storage.
+ - `sql.stats.flushes.failed`: Number of attempted SQL statistics flushes that failed with errors.
+ - `sql.stats.flush.latency`: The latency of attempted SQL statistics flushes to persistent storage, including both successes and failures. [#120709][#120709]
+- The following new [metrics]({% link v24.1/metrics.md %}) track the number and outcome of proxy requests when `kv.dist_sender.proxy.enabled` is set to `true`:
+ - `distsender.rpc.proxy.sent`
+ - `distsender.rpc.proxy.err`
+ - `distsender.rpc.proxy.forward.sent`
+ - `distsender.rpc.proxy.forward.err`
+
+ Cockroach Labs recommends monitoring and alerting on `distsender.rpc.proxy.sent`, because it indicates a possible network partition. [#120239][#120239]
+- The `provisioned-rate` field of a node's store specification can no longer be used to add constraints for the disk name or bandwidth. By default, bandwidth is constrained according to the [cluster setting]({% link v24.1/cluster-settings.md %}) `kv.store.admission.provisioned_bandwidth`. To override this setting for a specific node, the storage specification must contain `provisioned-rate=bandwidth={bandwidth-bytes/s}`. [#120895][#120895]
+- Removal of the [cluster setting]({% link v24.1/cluster-settings.md %}) `kv.rangefeed.scheduler.enabled`, which was announced in [v24.1.0-alpha.1](https://www.cockroachlabs.com/docs/releases/v24.1.html#v24-1-0-alpha-1), has been reverted, and the cluster setting is reinstated. [#121164][#121164]
+
+DB Console changes
+
+- In generated statement fingerprints in the DB Console [**Statements** page]({% link v24.1/ui-statements-page.md %}), lists with only literals or placeholders or similar subexpressions are shortened to their first item followed by "__more__". [#120507][#120507]
+
+Bug fixes
+
+- Fixed a bug introduced in v23.2 that could cause a [PL/pgSQL]({% link v24.1/plpgsql.md %}) routine to return incorrect results when the routine included:
+ 1. At least one parameter.
+ 1. An `IF` statement with one leak-proof branch and one branch with side effects. [#120451][#120451]
+- Fixed a rare bug where a `BACKUP` command issued shortly after an [`ALTER TABLE {table_name} SET (exclude_data_from_backup = true)`]({% link v24.1/take-full-and-incremental-backups.md %}#exclude-a-tables-data-from-backups) could exclude data from an unrelated table from the backup. [#120188][#120188]
+- Fixed a behavior where a memory exhaustion error during a schema change was treated as a permanent failure and reverted. Such schema changes are now retried instead of reverted. [#120806][#120806]
+- Fixed a bug where the `attname` for a dropped column was not correctly padded with 8 `.` characters to be compatible with PostgreSQL. [#120861][#120861]
+
+
+
+- Splits no longer hold latches for time proportional to the range size while computing MVCC statistics. Instead, MVCC statistics are pre-computed before the critical section of the split. As a side effect, the resulting statistics are no longer 100% accurate because they may correctly distribute writes concurrent with the split. To mitigate against this potential inaccuracy, and to prevent the statistics from drifting after successive splits, the existing stored statistics are re-computed and corrected if needed during the non-critical section of the split. [#119894][#119894]
+- The [cost-based optimizer]({% link v24.1/cost-based-optimizer.md %}) now generates more efficient query plans for some queries with `OFFSET` clauses. [#121160][#121160]
+
+
+
+
Contributors
+
+This release includes 157 merged PRs by 44 authors.
+We would like to thank the following contributors from the CockroachDB community:
+
+- Andrew Delph
+
+
+
+
+[#117340]: https://github.com/cockroachdb/cockroach/pull/117340
+[#119263]: https://github.com/cockroachdb/cockroach/pull/119263
+[#119671]: https://github.com/cockroachdb/cockroach/pull/119671
+[#119894]: https://github.com/cockroachdb/cockroach/pull/119894
+[#120077]: https://github.com/cockroachdb/cockroach/pull/120077
+[#120162]: https://github.com/cockroachdb/cockroach/pull/120162
+[#120188]: https://github.com/cockroachdb/cockroach/pull/120188
+[#120239]: https://github.com/cockroachdb/cockroach/pull/120239
+[#120428]: https://github.com/cockroachdb/cockroach/pull/120428
+[#120451]: https://github.com/cockroachdb/cockroach/pull/120451
+[#120456]: https://github.com/cockroachdb/cockroach/pull/120456
+[#120507]: https://github.com/cockroachdb/cockroach/pull/120507
+[#120668]: https://github.com/cockroachdb/cockroach/pull/120668
+[#120674]: https://github.com/cockroachdb/cockroach/pull/120674
+[#120686]: https://github.com/cockroachdb/cockroach/pull/120686
+[#120709]: https://github.com/cockroachdb/cockroach/pull/120709
+[#120733]: https://github.com/cockroachdb/cockroach/pull/120733
+[#120782]: https://github.com/cockroachdb/cockroach/pull/120782
+[#120783]: https://github.com/cockroachdb/cockroach/pull/120783
+[#120784]: https://github.com/cockroachdb/cockroach/pull/120784
+[#120806]: https://github.com/cockroachdb/cockroach/pull/120806
+[#120813]: https://github.com/cockroachdb/cockroach/pull/120813
+[#120846]: https://github.com/cockroachdb/cockroach/pull/120846
+[#120851]: https://github.com/cockroachdb/cockroach/pull/120851
+[#120861]: https://github.com/cockroachdb/cockroach/pull/120861
+[#120895]: https://github.com/cockroachdb/cockroach/pull/120895
+[#121023]: https://github.com/cockroachdb/cockroach/pull/121023
+[#121160]: https://github.com/cockroachdb/cockroach/pull/121160
+[#121164]: https://github.com/cockroachdb/cockroach/pull/121164
From 5f8505df5918a28bb3e8e5c4d5a98700bc06adeb Mon Sep 17 00:00:00 2001
From: mikeCRL
Date: Wed, 3 Apr 2024 12:30:06 -0400
Subject: [PATCH 5/6] Re-add pr-reviews check workflow
---
.github/workflows/pr-reviews.yml | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
create mode 100644 .github/workflows/pr-reviews.yml
diff --git a/.github/workflows/pr-reviews.yml b/.github/workflows/pr-reviews.yml
new file mode 100644
index 00000000000..1736a86a063
--- /dev/null
+++ b/.github/workflows/pr-reviews.yml
@@ -0,0 +1,29 @@
+name: PR Review
+on:
+ pull_request_target:
+ types:
+ - opened
+ - reopened
+ - ready_for_review
+ - synchronize
+ - auto_merge_enabled
+
+jobs:
+ pr-review:
+ if: github.event.pull_request.draft == false
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@main
+
+ - name: Set up Golang
+ uses: actions/setup-go@v4
+ with:
+ go-version: '1.20'
+
+ - name: Run PR review check
+ env:
+ GITHUB_TOKEN: ${{ secrets.TOKEN_FOR_ORG_MEMBERSHIP }}
+ PR_AUTHOR: ${{ github.event.pull_request.user.login }}
+ PR_NUMBER: ${{ github.event.pull_request.number }}
+ run: go run .github/scripts/docs-prs-reviews.go
From 3f07eadcdf12b9ae169906c6fa517fb98bc2aaa3 Mon Sep 17 00:00:00 2001
From: Amruta Ranade <11484018+Amruta-Ranade@users.noreply.github.com>
Date: Wed, 3 Apr 2024 12:40:42 -0400
Subject: [PATCH 6/6] Updated the Cloud Prod Checklist (#18434)
* Updated the Cloud Prod Checklist
* tiny change to bypass pr-review check
---
src/current/cockroachcloud/production-checklist.md | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/src/current/cockroachcloud/production-checklist.md b/src/current/cockroachcloud/production-checklist.md
index 8afc09e6118..c5ad4ed99b0 100644
--- a/src/current/cockroachcloud/production-checklist.md
+++ b/src/current/cockroachcloud/production-checklist.md
@@ -26,7 +26,7 @@ The customer is responsible for the following tasks:
- Initiating major version upgrades and selecting maintenance windows for patch releases.
- (Optional) Taking customer-owned backups.
-This page provides important recommendations for CockroachDB {{ site.data.products.cloud }} production tasks for which the customer is responsible.
+This page provides important recommendations for CockroachDB {{ site.data.products.cloud }} production tasks for which the customer is responsible.
## Deployment options
@@ -36,10 +36,6 @@ Make sure your cluster has sufficient storage, CPU, and memory to handle the wor
`raw data (storage, in GB) * replication factor (3 by default) * remove 40% to account for compression (0.6) * headroom (1.5-2)`
-{{site.data.alerts.callout_info}}
-CockroachDB {{ site.data.products.dedicated }} clusters can be created with a minimum of 2 vCPUs per node on AWS and GCP or 4 vCPUs per node on Azure.
-{{site.data.alerts.end}}
-
For an example, refer to [Plan your Dedicated cluster]({% link cockroachcloud/plan-your-cluster.md %}).
## Topology patterns