Now that CockroachDB v23.1 is available, an Org Administrator can upgrade your CockroachDB Dedicated cluster from the CockroachDB Cloud Console. This page guides you through the process for an Admin.
Upgrading a CockroachDB Dedicated cluster to a new major version is opt-in. Before proceeding, review the CockroachDB Cloud CockroachDB Cloud Upgrade Policy.
Step 1. Verify that you can upgrade
To upgrade to v23.1, you must be running v22.2. If you are not running v22.2, first upgrade to v22.2. Then return to this page and continue to Step 2.
Step 2. Select your cluster size
The upgrade process depends on the number of nodes in your cluster. Select whether your cluster has multiple nodes or a single node:
Step 3. Understand the upgrade process
In a multi-node cluster, the upgrade does not interrupt the cluster's overall health and availability. CockroachDB Cloud stops one node at a time and restarts it with the new version, waits a few minutes to observe the upgraded node's behavior, then moves on to the next node. This "rolling upgrade" takes approximately 4-5 minutes per node and is enabled by CockroachDB's multi-active availability design.
When you start the upgrade, the cluster will be unavailable for a few minutes while the node is stopped and restarted with v23.1.
Approximately 72 hours after all nodes are running v23.1, the upgrade will be automatically finalized. It's important to monitor your cluster and applications during this 72-hour window, so that you can roll back the upgrade from the CockroachDB Cloud Console if you see unexpected behavior. Finalization enables certain features and performance improvements introduced in v23.1. When finalization is complete, it is no longer possible to roll back to v22.2.
If you choose to roll back a major version upgrade, your cluster will be rolled back to the latest patch release of v22.2, which may differ from the patch release you were running before you initiated the upgrade. To learn more, refer to CockroachDB Cloud Upgrade Policy.
When finalization begins, a series of migration jobs run to enable certain types of features and changes in the new major version that cannot be rolled back. These include changes to system schemas, indexes, and descriptors, and enabling certain types of improvements and new features. Until the upgrade is finalized, these features and functions will not be available and the command SHOW CLUSTER SETTING version
will return 22.2
.
You can monitor the process of the migration in the CockroachDB Cloud Jobs page. Migration jobs have names in the format 23.1-{migration-id}
. If a migration job fails or stalls, Cockroach Labs can use the migration ID to help diagnose and troubleshoot the problem. Each major version has different migration jobs with different IDs.
Finalization is complete when all migration jobs have completed. After migration is complete, the command SHOW CLUSTER SETTING version
will return 23.1
.
Step 4. Prepare to upgrade
Before starting the upgrade, complete the following steps.
Prepare for brief unavailability
Your cluster will be unavailable while its single node is stopped and restarted with v23.1. Prepare your application for this brief downtime, typically a few minutes.
The SQL Users and Tools tabs in the CockroachDB Cloud Console will also be disabled during this time.
Review breaking changes
Review the backward-incompatible changes in v23.1 and deprecated features. If any affect your applications, make the necessary changes before proceeding.
Reset SQL statistics
Before upgrading to CockroachDB v23.1, it is recommended to reset the cluster's SQL statistics. Otherwise, it may take longer for the upgrade to complete on a cluster with large statement or transaction statistics tables. This is due to the addition of a new column and a new index to these tables. To reset SQL statistics, issue the following SQL command:
SELECT crdb_internal.reset_sql_stats();
Step 5. Start the upgrade
To start the upgrade process:
Sign in to your CockroachDB Cloud account.
In the Clusters list, select the cluster you want to upgrade.
Select Actions > Upgrade major version.
In the Upgrade your cluster dialog, review the pre-upgrade message and then click Start Upgrade.
Your cluster will be upgraded one node at a time without interrupting the cluster's overall health and availability. This "rolling upgrade" will take approximately 4-5 minutes per node.
Your single-node cluster will be unavailable for a few minutes while the node is stopped and restarted with v23.1.
Step 6. Monitor the upgrade
Once your cluster is running v23.1, you will have approximately 72 hours before the upgrade is automatically finalized. During this time, it is important to monitor your applications and respect temporary limitations.
If you see unexpected behavior, you can roll back to v22.2 during the 72-hour window.
Monitor your application
Use the DB Console or your own tooling to monitor your application for any unexpected behavior.
If everything looks good, you can wait for the upgrade to automatically finalize or you can manually trigger finalization.
If you see unexpected behavior, you can roll back to v22.2 during the 72-hour window.
Expect temporary limitations
Most v23.1 features can be used right away, but some will be enabled only after the upgrade has been finalized. Attempting to use these features before finalization will result in errors:
For an expanded list of features included in the v23.1 release, see the v23.1 release notes.
Roll back the upgrade
If you see unexpected behavior, you can roll back the upgrade during the 72-hour window.
To stop the upgrade and roll back to v22.2, click Roll back in the banner at the top of the CockroachDB Cloud Console, and then click Roll back upgrade.
During rollback, nodes will be reverted to v22.2 one at a time without interrupting the cluster's health and availability.
Because your cluster contains a single node, the cluster will be briefly unavailable while the node is stopped and restarted with v22.2. Be sure to prepare for this brief unavailability before starting the rollback.
Step 7. Complete the upgrade
If everything looks good, you can wait for the upgrade to automatically finalize, or you can manually finalize the upgrade to lift the temporary limitations on the cluster more quickly.
Finalize the upgrade
The upgrade is automatically finalized after 72 hours.
To manually finalize the upgrade, click Finalize in the banner at the top of the CockroachDB Cloud Console, and then click Finalize upgrade.
After finalization, all temporary limitations will be lifted, and all v23.1 features are available for use. However, it will no longer be possible to roll back to v22.2. If you see unexpected behavior after the upgrade has been finalized, contact support.