Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
storage: prevent crash migrating from 19.1-beta into 19.1-rcX
When I landed the change to stop sending the Raft log in snapshots, I gated this on whether the truncated state had already been unreplicated for the range. However, this wasn't enough because older 19.1 betas knew about unreplicated truncated state and yet couldn't handle a regressing truncated state, which sending these snapshots could introduce. As a result, 19.1-beta nodes could crash while running mixed with 19.1-rcX. (Simply restarting those nodes with the upgraded binary should fix the problem). This PR breaks one of our rules around not introducing historical cluster versions, but in this case it's necessary and also shouldn't have any adverse effects. See #36680. Release note (bug fix): prevent a crash that could occur when running a cluster mixed between 19.1-beta and 19.1-rcX nodes. The crash would manifest with a fatal error stating "TruncatedState regressed". Moving all nodes to the new binary (19.1-rcX or newer) rectifies this situation. This wouldn't affect anyone migrating directly from 2.1.x into 19.1.x, as the majority of our users are expected to.
- Loading branch information