Vitess
v23.0.6Storage & Data2026年9月3日
正確性の修正と依存関係の更新を中心としたメンテナンスリリースです。VRLogの削除と新たに設けられた安全上の制限について、運用者の確認が必要です。
要対応 (2)
breakingストリーミング再帰 CTE の再帰深度制限
ストリーミング再帰 CTE の経路に再帰深度の上限が設けられました。
breakingストリーミング
CALL経路の安全性チェックストリーミング
CALL経路で、ストアドプロシージャーの安全性チェックが適用されるようになりました。
影響確認 (1)
breaking
/debug/vrlogエンドポイントの削除/debug/vrlogを利用している場合に適用されます。/debug/vrlogエンドポイントは廃止され、利用できなくなりました。
事前準備 (1)
deprecated
--vreplication-enable-http-logの非推奨化v26で削除予定--vreplication-enable-http-logを設定している場合に適用されます。--vreplication-enable-http-logは非推奨の no-op になりました。このフラグはv26で削除されます。
その他の記録済み変更 35 件すべてfixes 29 · value changes 4 · constraints 1 · defaults 1
fixes (29)
reparentutil: order reparent candidates by GTID dominance for a consistent sort (#20728) [#20757](https://github.com/vitessio/vitess/pull/20757)- mysql/json: fix MarshalTo discarding accumulated output for nested blob and bit values (#20625) [#20655](https://github.com/vitessio/vitess/pull/20655)
- VDiff: stop pre-seeding a bogus category in TableDiffPhaseTimings (#20713) [#20716](https://github.com/vitessio/vitess/pull/20716)
- Properly handle vstream filter predicates with multi-col PKs (#20858) [#20864](https://github.com/vitessio/vitess/pull/20864)
- vstreamer: don't drop a SET column's 64th member (#20450) [#20455](https://github.com/vitessio/vitess/pull/20455)
- VReplication: reconcile in-memory workflow state metric from the persisted row (#20442) [#20500](https://github.com/vitessio/vitess/pull/20500)
- binlog: escape JSON diff paths when generating diff SQL (#20461) [#20528](https://github.com/vitessio/vitess/pull/20528)
- workflow: escape tenant id and column name in getTenantClause (#20413) [#20532](https://github.com/vitessio/vitess/pull/20532)
- VReplication: Avoid sending mixed batch of row changes to bulk insert or bulk delete in vplayer batch mode (#20565) [#20587](https://github.com/vitessio/vitess/pull/20587)
- VReplication: only build a bulk-delete plan for insertNormal table plans (#20889) [#20920](https://github.com/vitessio/vitess/pull/20920)
- VReplication: don't count throttled time in the vplayer stall deadline (#20925) [#20949](https://github.com/vitessio/vitess/pull/20949)
- Preserve query hints in field/impossible queries (#20366) [#20398](https://github.com/vitessio/vitess/pull/20398)
- vtgate: copy bindVars per source in streaming Concatenate (#20436) [#20490](https://github.com/vitessio/vitess/pull/20490)
- evalengine: don't append a NUL byte to TO_BASE64 output at exact 57 byte multiples (#20474) [#20502](https://github.com/vitessio/vitess/pull/20502)
- mysql: encode zero DATE/DATETIME/TIMESTAMP values as zero-length in the binary protocol (#20460) [#20506](https://github.com/vitessio/vitess/pull/20506)
- vtgate: copy execute options per scatter call for FetchLastInsertId (#20439) [#20523](https://github.com/vitessio/vitess/pull/20523)
- vtgate: do not autocommit per-chunk in streaming insert-select (#20497) [#20525](https://github.com/vitessio/vitess/pull/20525)
- evalengine: round DOUBLE ties half to even in ROUND() like MySQL (#20476) [#20530](https://github.com/vitessio/vitess/pull/20530)
- grpcvtgateconn: stop mutating shared dial options slice (#20580) [#20583](https://github.com/vitessio/vitess/pull/20583)
- Fix ExecuteMulti timeout context reuse (#20445) [#20606](https://github.com/vitessio/vitess/pull/20606)
- evalengine: stop RPAD growing its operand in place (#20697) [#20707](https://github.com/vitessio/vitess/pull/20707)
- evalengine: stop the binary bitwise operators writing over and marking their result (#20696) [#20709](https://github.com/vitessio/vitess/pull/20709)
- evalengine: collapse the VM stack when a later LOCATE or SUBSTRING operand is NULL (#20645) [#20714](https://github.com/vitessio/vitess/pull/20714)
- vttablet: roll back canceled schema reload on a non-cancelable context (#20385) [#20400](https://github.com/vitessio/vitess/pull/20400)
- vreplication: prevent vttablet panic on malformed
RowChangeimages (#20377) [#20408](https://github.com/vitessio/vitess/pull/20408) - txthrottler: don't panic on target_replication_lag_sec of 1 (#20554) [#20558](https://github.com/vitessio/vitess/pull/20558)
- vttablet: perform an initial heartbeat read when opening the heartbeat reader (#20868) [#20905](https://github.com/vitessio/vitess/pull/20905)
reparentutil: keep nil-alias tablets out of candidate ordering (#20762) [#20767](https://github.com/vitessio/vitess/pull/20767)- evalengine: use MySQL 1-based ordinal for ENUM in numeric context (#20454) [#20458](https://github.com/vitessio/vitess/pull/20458)
value changes (4)
- Upgrade the Golang version to
go1.[#20519](https://github.com/vitessio/vitess/pull/20519)25. 12 - Upgrade the Golang version to
go1.[#20835](https://github.com/vitessio/vitess/pull/20835)25. 13 - go/mysql: streaming errors no longer surface as connection loss (#20383) [#20540](https://github.com/vitessio/vitess/pull/20540)
go/mysql: send ERR instead of teardown after an OK carryingSERVER_MORE_RESULTS_EXISTS(#20563) [#20666](https://github.com/vitessio/vitess/pull/20666)
constraints (1)
- vtgate: support prepared statements with a leading WITH clause (#20665) [#20705](https://github.com/vitessio/vitess/pull/20705)
defaults (1)
- mysqlctl: force TZ=UTC for mysqlbinlog during point-in-time restore (#20463) [#20508](https://github.com/vitessio/vitess/pull/20508)
Vitessをスタックに追加
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回の破壊的変更も、その一例です。