YDB updating
YDB is a distributed system that supports rolling restart without downtime or performance degradation.
Update procedure
The basic scenario is updating the executable file and restarting each node one by one:
- Updating and restarting storage nodes.
- Updating and restarting dynamic nodes.
The shutdown and startup process is described on the Safe restart and shutdown of nodes page.
You must update YDB nodes one by one and monitor the cluster status after each step in YDB Monitoring: make sure the Storage
tab has no pools in the Degraded
status (as shown in the example below). Otherwise, stop the update process.
Version compatibility
All minor versions within a major version are compatible for updates. Major versions are consecutively compatible. To update to the next major version, you must first update to the latest minor release of the current major version. For example:
X.Y.* → X.Y.*
: Update is possible, all minor versions within a single major version are compatible.X.Y.Z
(the latest available version inX.Y.*
) →X.Y+1.*
: Update is possible, major versions are consistent.X.Y.* → X.Y+2.*
: Update is impossible, major versions are inconsistent.X.Y.* → X.Y-2.*
: Update is impossible, major versions are inconsistent.
A list of available versions can be found on the download page. The YDB release policy is described in more details in the Release management article of the YDB development documentation.
Warning
Also, in any case, you cannot roll back more than 2 major versions relative to the version that was deployed at least once. This is because such an old version may not know how to work with data on the disks that the newer version persisted.
Examples of version compatibility
- v.22.2.5 -> v.22.2.47: Update is possible.
- v.22.2.47 -> v.22.3.21: Update is possible.
- v.22.2.40 -> v.22.3.21: Update is impossible, first upgrade to the latest minor version (v.22.2.47).
- v.22.2.47 -> v.22.4.5: Update is impossible, upgrade to the next major version first (v.22.3.*).
Checking update results
You can check the updated node versions on the Nodes
page in Monitoring.