Vitess Binary Rollback and MySQL State Interoperability
0 reputation · 17 Oct 2025, 22:47 UTC
Component Version Compatibility
Vitess supports rolling upgrades by maintaining N and N-1 version compatibility between vtgate, vtctld, and vttablet. While stateless components like vtgate can be reverted by redeploying previous binaries, the vttablet interacts directly with the MySQL instance and the topology server.
Stateful Rollback Constraints
Certain upgrades introduce changes to the _vt database, MySQL system tables, or topology records. If an upgrade fails after these on-disk artifacts have been modified, reverting to the N-1 vttablet binary may result in an incompatible state where the older version cannot interpret the updated metadata.
The documented recovery path often suggests restoring from a pre-upgrade backup to ensure consistency, but this approach results in data loss for any writes accepted during the upgrade window unless a binlog-based replay is performed.
- Does a binary-only downgrade of
vttabletremain viable if the upgrade process has already modified the topology or sidecar schema? - Under what specific conditions does a version revert necessitate a full backup restore versus a simple binary rollback?