Skip to content

Commit 9f61c3b

Browse files
Add missing v24.0.0 changelog entries for vitessio#19460 and vitessio#19427
- Breaking change: external decompressor no longer read from backup MANIFEST by default - VTOrc: ordered recovery execution and semi-sync rollout improvements Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
1 parent 3e8df40 commit 9f61c3b

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

changelog/24.0/24.0.0/summary.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
- [Window function pushdown for sharded keyspaces](#window-function-pushdown)
99
- [View Routing Rules](#view-routing-rules)
1010
- [Tablet targeting via USE statement](#tablet-targeting)
11+
- **[Breaking Changes](#breaking-changes)**
12+
- [External Decompressor No Longer Read from Backup MANIFEST by Default](#vttablet-external-decompressor-manifest)
1113
- **[Minor Changes](#minor-changes)**
1214
- **[Logging](#minor-changes-logging)**
1315
- [Structured logging](#structured-logging)
@@ -30,6 +32,7 @@
3032
- [Improved VTOrc Discovery Logging](#vtorc-improved-discovery-logging)
3133
- [Deprecated VTOrc Metric Removed](#vtorc-deprecated-metric-removed)
3234
- [Deprecation of Snapshot Topology feature](#vtorc-snapshot-topology-deprecation)
35+
- [Ordered Recovery Execution and Semi-Sync Rollout](#vtorc-ordered-recovery-semi-sync)
3336

3437
## <a id="major-changes"/>Major Changes</a>
3538

@@ -90,6 +93,16 @@ Once set, all subsequent queries in the session route to the specified tablet un
9093

9194
Note: A shard must be specified when using tablet targeting. Like shard targeting, this bypasses vindex-based routing, so use with care.
9295

96+
### <a id="breaking-changes"/>Breaking Changes</a>
97+
98+
#### <a id="vttablet-external-decompressor-manifest"/>External Decompressor No Longer Read from Backup MANIFEST by Default</a>
99+
100+
The external decompressor command stored in a backup's `MANIFEST` file is no longer used at restore time by default. Previously, when no `--external-decompressor` flag was provided, VTTablet would fall back to the command specified in the `MANIFEST`. This posed a security risk: an attacker with write access to backup storage could modify the `MANIFEST` to execute arbitrary commands on the tablet.
101+
102+
Starting in v24, the `MANIFEST`-based decompressor is ignored unless you explicitly opt in with the new `--external-decompressor-use-manifest` flag. If you rely on this behavior, add the flag to your VTTablet configuration, but be aware of the security implications.
103+
104+
See [#19460](https://github.com/vitessio/vitess/pull/19460) for details.
105+
93106
## <a id="minor-changes"/>Minor Changes</a>
94107

95108
### <a id="minor-changes-logging"/>Logging</a>
@@ -237,3 +250,11 @@ The lack of facilities to read the snapshots created by this feature coupled wit
237250

238251
**Impact**: VTOrc can no longer create snapshots of the topology in it's backend database.
239252

253+
#### <a id="vtorc-ordered-recovery-semi-sync"/>Ordered Recovery Execution and Semi-Sync Rollout</a>
254+
255+
VTOrc now executes recoveries per-shard with defined ordering, rather than per-tablet in isolation. Problems that have ordering dependencies (e.g., semi-sync configuration) are executed serially first, while independent problems are executed concurrently. This ensures that dependent recoveries happen in the correct sequence within a shard.
256+
257+
The main user-facing improvement is to semi-sync rollouts: VTOrc now ensures replicas have semi-sync enabled before updating the primary. Previously, enabling semi-sync on the primary before enough replicas were ready could stall writes while the primary waited for semi-sync acknowledgements that no replica was prepared to send.
258+
259+
See [#19427](https://github.com/vitessio/vitess/pull/19427) for details.
260+

0 commit comments

Comments
 (0)