Compare commits

...

142 Commits

Author SHA1 Message Date
Shlomi Noach c8d71bcdf7
`heartbeatWriter`: wrap error with more info (#18538)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-08-21 16:22:15 +00:00
Shlomi Noach de17a2da90
OnlineDDL: log changes to `ready_to_complete` (#18557)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-08-21 09:48:10 +02:00
Henry Haiying Cai c336ea3bea
Add support for querylog-emit-on-any-condition-met flag (#18546)
Signed-off-by: Henry Cai <henry.cai@slack-corp.com>
2025-08-21 09:01:58 +02:00
Shlomi Noach 8d90d26df8
Online DDL: set migration's progress to 100% once it's `ready_to_complete` (#18544)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-08-13 16:47:59 +03:00
Harshit Gangal f27b909b3b
Fix foreign key relation with routed tables (#18537)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-08-11 12:49:18 +00:00
Noble Mittal 7dd3c6b550
CI: Fix `VDiff2` flaky e2e test (#18494)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-07-31 10:12:00 +02:00
Lee Jones ee051c639d
Add fetchCredentials to operator.yaml (#18460)
Signed-off-by: Lee Jones <leejones@users.noreply.github.com>
2025-07-30 20:14:43 +00:00
dependabot[bot] 44615b179a
Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (#18404)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-30 10:47:21 +03:00
Henry Haiying Cai b9fcdba600
Add support for querylog-time-threshold duration flag for query logging (#18520)
Signed-off-by: Henry Cai <henry.cai@slack-corp.com>
2025-07-30 09:05:39 +02:00
Max Englander c91f253fe1
go/vt/vtgate: handle dual tables in traffic mirroring (#18458)
Signed-off-by: Max Englander <max@planetscale.com>
2025-07-29 15:51:36 +00:00
Matt Layher 6c5a048081
discovery: clarify use of TabletFilter in NewHealthCheck (#18512)
Signed-off-by: Matt Layher <mdlayher@planetscale.com>
2025-07-29 21:20:28 +05:30
Harshit Gangal b344301474
Fix GetSchema RPC to prevent returning view definitions when EnableViews is disabled (#18513)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-07-29 12:22:18 +00:00
wukuai aef22581eb
Parser: Support CREATE TABLE ... SELECT Statement (#17983) (#18443)
Signed-off-by: wukuai <wukuai1024@outlook.com>
2025-07-29 09:31:24 +02:00
Dirkjan Bussink 22f9190a34
Set up better dependency checks (#18508)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-07-28 16:08:47 +02:00
Andrés Taylor ecb1a54a9e
bugfix: Plan group by only on top of derived tables correctly (#18505)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-07-28 14:22:33 +02:00
Dirkjan Bussink 24d67c4dc6
Fix regression in v22 around new flag setup (#18507)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-07-28 10:25:48 +00:00
dependabot[bot] 5b72bc2515
Bump form-data from 4.0.1 to 4.0.4 in /web/vtadmin (#18473)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-28 08:29:15 +00:00
dependabot[bot] dc64dfee94
Bump @babel/runtime from 7.26.0 to 7.27.6 in /web/vtadmin (#18467)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-28 08:28:57 +00:00
dependabot[bot] 5b516a2bd0
Bump vite from 4.5.9 to 4.5.14 in /web/vtadmin (#18485)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-28 10:24:13 +02:00
Dirkjan Bussink 21df269ca9
Fix for simple projection showing no fields (#18489)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Harshit Gangal <harshit@planetscale.com>
2025-07-25 13:11:24 +05:30
Nick Van Wiggeren 4665972c88
log.Info -> log.Infof in tabletserver for reloading ACLs (#18461)
Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
2025-07-25 09:14:02 +02:00
Andrés Taylor 51fc97722a
Fix scalar aggregation with literals in empty result sets (#18477)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-07-25 11:27:00 +05:30
Noble Mittal f9c10b9ef3
Avoid terminating atomic copy workflows on error if they are out of copy phase (#18475)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-07-24 21:18:32 +02:00
Jeffrey Sica f4a735b27f
Update runners to use cncf oracle vms (#18425)
Signed-off-by: Jeffrey Sica <me@jeefy.dev>
2025-07-24 10:47:24 -06:00
Andrés Taylor f4c531d25a
fix: handle aliases in UNIONs better (#18484)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-07-24 15:34:43 +00:00
Rohit Nayak e4a0f79838
VReplication: Fix bug while reading _vt.vreplication record (#18478)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-07-24 12:14:08 +05:30
Andrés Taylor b9e2ed75ae
Planner: Add comprehensive debug logging for query planner NoRewrite cases (#18476)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-07-23 07:48:03 +00:00
Manan Gupta a830cb018e
Update email in Maintainers file (#18472)
Signed-off-by: Manan Gupta <guptamanan100@gmail.com>
2025-07-23 10:14:17 +03:00
Shlomi Noach 1b1f69b4bd
tablet manager's `ExecuteFetchAsDba` does not allow multiple queries (#18183)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-07-22 07:39:55 +00:00
Andrés Taylor 95dd11c26b
bugfix: Fix impossible query for UNION (#18463)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-07-21 17:14:43 +05:30
Morgan Tocker 29836cd3f4
fix topo use in local_example (#18357)
Signed-off-by: Morgan Tocker <tocker@gmail.com>
2025-07-21 13:30:03 +02:00
Arshdeep acadf2ee5d
fix: update go-upgrade tool to check patch number (#18252) (#18402)
Signed-off-by: Arshdeep54 <balarsh535@gmail.com>
2025-07-21 08:50:42 +02:00
Deepthi Sigireddi abf1f77d4f
Update MAINTAINERS.md and CODEOWNERS (#18462)
Signed-off-by: Deepthi Sigireddi <388311+deepthi@users.noreply.github.com>
2025-07-18 13:44:34 -07:00
BenjaminLockhart d0ce40c413
Add logging to binlog watcher actions (#18264)
Signed-off-by: Ben Lockhart <blockhart@hubspot.com>
Co-authored-by: Ben Lockhart <blockhart@hubspot.com>
2025-07-16 22:01:58 +05:30
Shlomi Noach 9c5d552df1
`schemadiff`: `RelatedForeignKeyTables()` (#18195)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-07-16 21:59:50 +05:30
Tim Vaillancourt 256ca78391
`vtorc`: allow recoveries to be disabled from startup (#18005)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-07-16 21:46:43 +05:30
Arthur Schreiber 9cafbd3b42
Fix `vttablet` not being marked as not serving when MySQL stalls (#17883)
Signed-off-by: Arthur Schreiber <arthurschreiber@github.com>
2025-07-16 21:42:40 +05:30
Renan Rangel a0433f3037
make xtrabackup ShouldDrainForBackup configurable (#18431)
Signed-off-by: Renan Rangel <rrangel@slack-corp.com>
2025-07-16 08:10:44 +03:00
Noble Mittal 69f5a2bd57
Reset in-memory sequence info on vttablet on UpdateSequenceTables request (#18415)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-07-13 11:47:08 +02:00
Harshit Gangal a3854e5bf6
Fix watcher storm during topo outages (#18434)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-07-10 17:00:38 +05:30
Shlomi Noach 3baf4bc095
Online DDL: resume vreplication after cut-over/RENAME failure (#18428)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Co-authored-by: Noble Mittal <62551163+beingnoble03@users.noreply.github.com>
2025-07-10 11:10:07 +03:00
Shlomi Noach 2df46c73ae
Online DDL cutover enhancements (#18423)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-10 10:11:40 +03:00
Rohit Nayak d9380c153a
VStreamer: change in filter logic (#18319)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-07-08 09:37:45 +02:00
Shlomi Noach 4fbab4f077
Online DDL metrics: `OnlineDDLStaleMigrationMinutes` (#18417)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-07-08 08:34:28 +03:00
siddharth16396 826d78d19a
test: Fix race condition in TestStreamRowsHeartbeat (#18414)
Signed-off-by: siddharth16396 <siddharth16396@gmail.com>
2025-07-06 11:31:21 +02:00
Rohit Nayak c1cda2bdfd
VReplication: Improve permission check logic on external tablets on SwitchTraffic (#18348)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-07-05 11:47:22 +02:00
Noble Mittal 683f74060f
Perform post copy actions in atomic copy (#18411)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-07-04 06:16:12 +02:00
Sergey Stankevich 5e314842d7
Update `operator.yaml` (#18364)
Signed-off-by: Sergey Stankevich <stankevich@users.noreply.github.com>
2025-07-02 09:31:13 -07:00
siddharth16396 5aefdb004f
Feature(onlineddl): Add shard-specific completion to online ddl (#18331)
Signed-off-by: siddharth16396 <siddharth16396@gmail.com>
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Co-authored-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-07-01 21:51:08 +02:00
David Piegza efae039f06
Set parsed comments in operator for subqueries (#18369)
Signed-off-by: David Piegza <davidpiegza@github.com>
2025-07-01 13:03:23 +02:00
Tim Vaillancourt bd9e5d0f8a
`vtorc`: move shard primary timestamp to time type (#18401)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-06-30 23:20:39 +02:00
Tim Vaillancourt d42936810a
`vtorc`: rename `isClusterWideRecovery` -> `isShardWideRecovery` (#18351)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-06-30 22:33:32 +02:00
Tim Vaillancourt 887e4c4ff0
`vtorc`: remove dupe keyspace/shard in replication analysis (#18395)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-06-30 13:29:39 -07:00
Matt Lord 33da09818c
Topo: Add NamedLock test for zk2 and consul and get them passing (#18407)
Signed-off-by: Matt Lord <mattalord@gmail.com>
2025-06-30 22:05:50 +02:00
siddharth16396 c21afc0219
Handle MySQL 9.x as New Flavor in getFlavor() (#18399)
Signed-off-by: siddharth16396 <siddharth16396@gmail.com>
2025-06-30 16:25:33 +02:00
Tom Thornton 42493fdef1
Add support for sending grpc server backend metrics via ORCA (#18282)
Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>
2025-06-30 15:20:58 +02:00
Andrés Taylor d0034653fe
asthelpergen: add design documentation (#18403)
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-06-30 14:12:23 +05:30
Tim Vaillancourt aa68b96c95
`vtorc`: add keyspace/shard labels to recoveries stats (#18304)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-06-27 11:51:34 +05:30
Tim Vaillancourt fae2b51728
`vtorc`: cleanup `database_instance` location fields (#18339)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-06-25 12:41:28 -07:00
Andrés Taylor 28ceeeab7b
avoid derived tables for UNION when possible (#18393)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-06-24 14:00:13 +02:00
siddharth16396 460fffe685
[Bugfix] Broken Heartbeat system in Row Streamer (#18390)
Signed-off-by: siddharth16396 <siddharth16396@gmail.com>
2025-06-24 00:04:04 +02:00
Frances Thai d032bfcba0
Update MAINTAINERS.md (#18394)
Signed-off-by: Frances Thai <31225471+notfelineit@users.noreply.github.com>
2025-06-23 08:40:56 -07:00
Deepthi Sigireddi 5078ca8c7e
move vmg to emeritus (#18388)
Signed-off-by: deepthi <deepthi@planetscale.com>
2025-06-23 08:25:24 -07:00
Graham Campbell c18dcbd2e1
Make sure to check if the server is closed in etcd2topo (#18352)
Signed-off-by: Graham Campbell <hello@gjcampbell.co.uk>
2025-06-19 20:25:42 +05:30
Manan Gupta 98c3f03d95
[main] Copy `v20.0.8` release notes (#18383)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-06-18 13:13:58 +02:00
Manan Gupta 6f2dd86f24
[main] Copy `v21.0.5` release notes (#18381)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-06-18 16:42:13 +05:30
Manan Gupta fc54091d28
[main] Copy `v22.0.1` release notes (#18379)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-06-18 14:14:05 +05:30
vitess-go-upgrade-bot 8d2c08c312
[main] Upgrade the Golang version to `go1.24.4` (#18327)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
2025-06-17 15:21:31 +05:30
Manan Gupta ad3574dd8f
Fix: Deadlock in `Close` and `write` in semi-sync monitor. (#18359)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-06-17 10:54:27 +05:30
Andrés Taylor f2b12a0485
fix: keep LIMIT/OFFSET even when merging UNION queries (#18361)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-06-16 10:44:27 +02:00
Renan Rangel 8bd3fbe708
fix version issue when using --mysql-shell-speedup-restore=true (#18310) 2025-06-13 19:46:10 +02:00
Harshit Gangal 42317c0ecf
fix: handle dml query for None opcode (#18326)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-06-09 18:30:48 -04:00
Manan Gupta bf253ebc5c
Fix test flakines in semi-sync monitor tests (#18342)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-06-09 22:05:59 +05:30
Rohit Nayak 2520f7f67b
Split workflow with flaky vdiff2 e2e test. Skip flaky Migrate test. (#18300)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-06-06 11:01:08 +02:00
Tim Vaillancourt 108e10d436
Check `consultopo` loaded `>=1` credentials w/`-consul_auth_static_file` (#18152)
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
2025-06-06 01:47:09 +02:00
Harshit Gangal 26700d5a11
Allow multi-shard read-only transactions in SINGLE transaction mode (#18173)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-06-05 09:03:33 -07:00
Shlomi Noach 5ebc32f4bc
Throttler: keep watching topo even on error (#18223)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-06-04 13:04:29 -04:00
Harshit Gangal b11127027b
flaky test fix TestTrackerNoLock and TestCreateLookupVindexMultipleCreate (#18317)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-06-03 10:23:23 -04:00
Rohit Nayak 8d659aaf3f
Atomic Copy: Handle error that was ignored while streaming tables and log it (#18313)
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
2025-06-02 16:31:25 -04:00
Tom Thornton aea03ede2d
Add a flag to vstream to exclude keyspace from table name (#18274)
Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>
2025-06-02 13:13:09 -07:00
Banty Kumar 91acd729aa
Vtorc: Recheck primary health before attempting a failure mitigation (#18234)
Signed-off-by: Banty Kumar <bantyp92@gmail.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
2025-06-02 11:59:56 -07:00
Mounica Sruthi dedea93b7f
Refactor `vtcombo` flags - Part 3 (#18298)
Signed-off-by: mounicasruthi <mounicasruthi30@gmail.com>
2025-05-29 21:10:04 -07:00
Mounica Sruthi cec7812fc5
Refactor `vtcombo` flags - Part 2 (#18297)
Signed-off-by: mounicasruthi <mounicasruthi30@gmail.com>
2025-05-28 15:39:35 -07:00
Mounica Sruthi fc93d4f6b9
Refactor `vtcombo` flags - Part 1 (#18291)
Signed-off-by: mounicasruthi <mounicasruthi30@gmail.com>
2025-05-28 13:29:46 -07:00
Mounica Sruthi 0344d8e6ae
Refactor `vtctld` flags to follow standard naming convention (#18294)
Signed-off-by: mounicasruthi <mounicasruthi30@gmail.com>
2025-05-27 13:42:06 -07:00
Mounica Sruthi 330cf3aadd
Flags Refactor - Part 5 (#18296)
Signed-off-by: mounicasruthi <mounicasruthi30@gmail.com>
2025-05-27 13:41:12 -07:00
Arthur Schreiber 5290b86d1b
Improve `UNION` query merging (#18289)
Signed-off-by: Arthur Schreiber <arthurschreiber@github.com>
2025-05-26 12:17:04 +02:00
Manan Gupta 3aef1b4bcd
Fix flaky test by being more permissive with the error message in `TestOverallQueryTimeout` (#18299)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-05-26 10:00:50 +02:00
Tom Thornton f8d08a33ee
Fix flakey vstream metrics test (#18287)
Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>
2025-05-25 19:43:49 +02:00
Harshit Gangal 11409238b4
Add TransactionsProcessed metric to track transactions at VTGate (#18171)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-05-22 17:40:52 -04:00
Manan Gupta b42c0df1ed
Fix `SET` and `START TRANSACTION` in create procedure statements (#18279)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-05-22 17:40:09 -04:00
Manan Gupta fcfa0c8c42
Fix deadlock in semi-sync monitor (#18276)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-05-22 22:05:07 +05:30
vitess-go-upgrade-bot 9f6b87446e
Upgrade the Golang Dependencies (#18266)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-05-22 14:03:11 +02:00
Mounica Sruthi 86652300fe
Merge flags-refactor branch to main (#18280)
Signed-off-by: mounicasruthi <mounicasruthi30@gmail.com>
Signed-off-by: Mounica Sruthi <78213881+mounicasruthi@users.noreply.github.com>
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Co-authored-by: Deepthi Sigireddi <deepthi.sigireddi@gmail.com>
Co-authored-by: Rohit Nayak <rohit@planetscale.com>
2025-05-22 11:51:11 +02:00
Harshit Gangal 55564ca78a
json array insert test (#18284)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-05-21 16:29:41 -04:00
vitess-go-upgrade-bot 0e0f4da2fe
[main] Upgrade the Golang version to `go1.24.3` (#18241)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-05-20 12:14:00 +02:00
Noble Mittal c3daef30d4
VStream: Add flag to support copying only specific tables (#18184)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-05-18 15:33:05 +02:00
Andrés Taylor d849b9fc1d
Fix subquery merging regression introduced in #11379 (#18260) 2025-05-09 17:57:27 +02:00
Dirkjan Bussink 15c4e28d0e
Fix evalengine crashes on unexpected types (#18254) 2025-05-09 10:05:51 +02:00
vitess-go-upgrade-bot 516b85487d
Upgrade the Golang Dependencies (#18082)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: deepthi <deepthi@planetscale.com>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: deepthi <deepthi@planetscale.com>
2025-05-07 09:40:33 -07:00
Harshit Gangal e9a6589bea
test: TestQueryTimeoutWithShardTargeting fix flaky test (#18242)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-05-07 09:35:45 -07:00
Andrés Taylor d0176be34a
make sure to give MEMBER OF the correct precedence (#18237)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-05-07 08:33:04 +02:00
Noble Mittal 421aca015d
Recover panic in vcopier due to closed channel (#18228)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-05-05 18:56:35 +02:00
Max Englander 6c597f6f57
go/vt/discovery: configurable logger (#17846)
Signed-off-by: Max Englander <max@planetscale.com>
2025-05-05 14:43:08 +02:00
Arthur Schreiber b3d80b27c7
Properly handle grpc dial errors in the throttler metric aggregation (#18073)
Signed-off-by: Arthur Schreiber <arthurschreiber@github.com>
Signed-off-by: Mohamed Hamza <mhamza15@github.com>
Co-authored-by: Mohamed Hamza <mhamza15@github.com>
2025-04-30 11:54:11 -07:00
vitess-bot d36d18300f
[main] Copy `v22.0.0` release notes (#18224)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-29 07:19:15 -06:00
Shlomi Noach 1bbbcda029
Online DDL: support `alter vitess_migration ... postpone complete` syntax (#18118)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Co-authored-by: Deepthi Sigireddi <deepthi.sigireddi@gmail.com>
2025-04-29 08:56:13 +03:00
Shlomi Noach 03a9bfe104
Query buffering, terminating blocking transactions for `INSTANT` DDL and other "special plans" (#17945)
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
2025-04-28 21:09:41 +03:00
Harshit Gangal 5601849931
fix: Preserve multi-column TupleExpr in tuple simplifier (#18216)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-04-28 22:17:45 +05:30
Noble Mittal 68242a621b
LookupVindex: Multiple lookup tables support for `LookupVindexCreate` (#17566)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-04-24 20:38:46 +02:00
Noble Mittal f0e9a2df17
VReplication: Add reference-tables to existing materialize workflow (#17804)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-04-24 17:17:09 +02:00
vitess-bot 8dbe553c4e
[main] Copy `v22.0.0-RC3` release notes (#18205)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-24 09:00:06 -06:00
Dirkjan Bussink 4399cbc02c
Change test compatibility (#18201)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-04-24 07:03:34 -06:00
Noble Mittal 3a33fddddc
Add TMC RPCs for updating sequences for `switchwrites` (#18172)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-04-24 13:43:17 +02:00
Deepthi Sigireddi e6aaec0ca7
copy edit release notes to prepare for v22 GA (#18186)
Signed-off-by: deepthi <deepthi@planetscale.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-22 15:41:18 -06:00
dependabot[bot] 673e0d3e2d
Bump golang.org/x/net from 0.37.0 to 0.38.0 (#18177)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-22 10:53:58 -06:00
Kyle Johnson a8c0d32db1
Use transaction_isolation vs tx_isolation (#17845)
Signed-off-by: Kyle Johnson <kylej@hubspot.com>
2025-04-18 10:45:53 +05:30
vitess-bot 9a8dbe035d
[main] Copy `v22.0.0-RC2` release notes (#18169)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-11 15:59:48 -05:00
Harshit Gangal 9e734f8cbe
Remove deprecated methods and metrics (#18149)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
2025-04-11 20:01:05 +05:30
Andrés Taylor d2a4a4b850
bugfix: INSERT IGNORE not inserting rows (#18151)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-04-11 10:41:20 +02:00
Manan Gupta be667369d7
Fix split statement for create procedure to account for definers (#18142)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-10 14:03:56 -06:00
Manan Gupta 0df4e52cff
Add summary note change for unsharded `create procedure` support (#18148)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-10 14:03:42 -06:00
Manan Gupta 6cc722347d
Fix: Add tablet type to the plan key (#18155)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-10 14:03:30 -06:00
Harshit Gangal 2c92e85546
feat: support prepare even on plan failure to generate optimized plan on execution with values (#18126)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-04-10 11:18:04 +05:30
Florent Poinsard b9fbe526fe
[main] Copy `v20.0.7` release notes (#18146)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-09 08:33:16 -06:00
Florent Poinsard 3b4d89f891
[main] Copy `v21.0.4` release notes (#18144)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-09 08:33:02 -06:00
Noble Mittal 0bf2eb1081
VStream API: add additional log lines for debugging frequent eof errors during catchup (#18124)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-04-09 13:41:05 +02:00
Manan Gupta 567c0ddb70
Fix parsing to allow `VALUE` in insert and replace statements (#18116)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-09 10:52:00 +03:00
Manan Gupta f36c87283c
Add a new implementation for handling multiple queries without needing to split them (#18059)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-09 10:42:58 +03:00
Florent Poinsard 282022b6b5
[main] Copy `v22.0.0-RC1` release notes (#18133)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-08 14:37:33 -06:00
Dirkjan Bussink cf5f9136c3
Switch to using the default caching sha2 password (#18010)
Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
2025-04-07 19:20:17 +05:30
Noble Mittal 6b88ff2a1e
VStream API: Reset stopPos in catchup (#18119)
Signed-off-by: Noble Mittal <noblemittal@outlook.com>
2025-04-06 20:48:51 +03:00
Manan Gupta 8ee1f29e37
Fix deadlock in `ValidateKeyspace` (#18114)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-04 19:58:58 +03:00
Manan Gupta 9e66c21910
Add code to clear orphaned files for a deleted keyspace (#18098)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-04 17:41:06 +03:00
Manan Gupta 4eb164e3dd
Fix golang-ci lint file to allow a version without preceding `v` (#18110)
Signed-off-by: Manan Gupta <manan@planetscale.com>
2025-04-03 16:15:08 -06:00
Andrés Taylor 3aa689a819
test: start mysqld on a random directory (#18096)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-04-03 15:17:17 +02:00
Andrés Taylor c13f7733b8
bugfix: allow window functions when possible to push down (#18103)
Signed-off-by: Andres Taylor <andres@planetscale.com>
2025-04-03 14:59:01 +02:00
Harshit Gangal ffac142428
Add Deferred Optimization Execution Metric (#18067)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
2025-04-03 16:26:22 +05:30
vitess-bot a5ff0175db
[main] Upgrade the Golang version to `go1.24.2` (#18093)
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: frouioui <frouioui@users.noreply.github.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-02 23:33:10 -06:00
Harshit Gangal f37393ef0c
[vttablet] Emit Constant “userLabelDisabled” When skip-user-metrics is Enabled (#18085)
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-03 10:42:19 +05:30
Florent Poinsard 7736d86a1f
Add release-22.0 to the golang upgrade workflow (#18089)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-02 07:26:10 -06:00
Florent Poinsard 9c59a5d246
Bump to `v23.0.0-SNAPSHOT` after the `v22.0.0-RC1` release (#18088)
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
2025-04-01 09:58:38 -06:00
770 changed files with 47477 additions and 35888 deletions

70
.github/CODEOWNERS vendored
View File

@ -1,78 +1,76 @@
* @deepthi
bootstrap.sh @deepthi @frouioui @vmg
go.mod @deepthi @harshit-gangal @mattlord @rohit-nayak-ps @systay @frouioui
go.sum @deepthi @harshit-gangal @mattlord @rohit-nayak-ps @systay @frouioui
/.github/ @deepthi @mattlord @rohit-nayak-ps @frouioui
/.github/ISSUE_TEMPLATE/ @deepthi @frouioui @mattlord
/.github/workflows/ @deepthi @frouioui @mattlord @rohit-nayak-ps
/config/mycnf/ @deepthi @shlomi-noach @mattlord
/doc/ @deepthi @frouioui @GuptaManan100
/docker/ @deepthi @derekperkins @mattlord @GuptaManan100 @frouioui
bootstrap.sh @frouioui
go.mod @harshit-gangal @mattlord @rohit-nayak-ps @systay @frouioui
go.sum @harshit-gangal @mattlord @rohit-nayak-ps @systay @frouioui
/.github/ @mattlord @rohit-nayak-ps @frouioui
/.github/ISSUE_TEMPLATE/ @frouioui @mattlord
/.github/workflows/ @frouioui @mattlord @rohit-nayak-ps
/config/mycnf/ @shlomi-noach @mattlord
/doc/ @frouioui @GuptaManan100
/docker/ @derekperkins @mattlord @GuptaManan100 @frouioui
/examples/compose @shlomi-noach @GuptaManan100 @frouioui
/examples/demo @mattlord @rohit-nayak-ps
/examples/local @rohit-nayak-ps @frouioui @mattlord @GuptaManan100
/examples/operator @GuptaManan100 @frouioui @mattlord
/examples/region_sharding @deepthi @mattlord
/examples/region_sharding @mattlord
/java/ @harshit-gangal
/go/cache @vmg
/go/cmd @deepthi @mattlord
/go/cmd @mattlord
/go/cmd/vtadmin @notfelineit
/go/cmd/vtctldclient @mattlord @notfelineit
/go/cmd/vtctldclient/command/throttler.go @shlomi-noach @mattlord
/go/cmd/vtctldclient/command/vreplication @mattlord @rohit-nayak-ps @shlomi-noach @notfelineit
/go/cmd/vtctldclient/command/backups.go @frouioui @mattlord
/go/cmd/vtbackup @frouioui @deepthi
/go/cmd/vtbackup @frouioui
/go/internal/flag @rohit-nayak-ps
/go/mysql @harshit-gangal @systay @mattlord
/go/pools @deepthi @harshit-gangal
/go/protoutil @deepthi @mattlord
/go/sqltypes @harshit-gangal @shlomi-noach @vmg
/go/pools @harshit-gangal
/go/protoutil @mattlord
/go/sqltypes @harshit-gangal @shlomi-noach
/go/test/endtoend/onlineddl @rohit-nayak-ps @shlomi-noach
/go/test/endtoend/messaging @mattlord @rohit-nayak-ps @derekperkins
/go/test/endtoend/schemadiff @shlomi-noach @mattlord
/go/test/endtoend/transaction @harshit-gangal @systay @frouioui @GuptaManan100
/go/test/endtoend/*throttler* @shlomi-noach @mattlord @timvaillancourt
/go/test/endtoend/vtgate @harshit-gangal @systay @frouioui
/go/test/endtoend/vtorc @deepthi @shlomi-noach @GuptaManan100 @timvaillancourt
/go/test/endtoend/vtorc @shlomi-noach @GuptaManan100 @timvaillancourt
/go/tools/ @frouioui @systay
/go/vt/dbconnpool @harshit-gangal @mattlord
/go/vt/discovery @deepthi @frouioui
/go/vt/discovery @frouioui
/go/vt/discovery/*tablet_picker* @rohit-nayak-ps @mattlord
/go/vt/mysqlctl @deepthi @mattlord @frouioui
/go/vt/proto @deepthi @harshit-gangal @mattlord
/go/vt/mysqlctl @mattlord @frouioui
/go/vt/proto @harshit-gangal @mattlord
/go/vt/proto/vtadmin @notfelineit
/go/vt/schema @mattlord @shlomi-noach
/go/vt/servenv @deepthi @dbussink
/go/vt/servenv @dbussink
/go/vt/schemadiff @shlomi-noach @mattlord
/go/vt/sqlparser @harshit-gangal @systay @GuptaManan100
/go/vt/srvtopo @deepthi @mattlord
/go/vt/srvtopo @mattlord
/go/vt/sysvars @harshit-gangal @systay
/go/vt/topo @deepthi @mattlord
/go/vt/topotools @deepthi @mattlord
/go/vt/topo @mattlord
/go/vt/topotools @mattlord
/go/vt/vitessdriver @harshit-gangal
/go/vt/vtadmin @notfelineit @rohit-nayak-ps
/go/vt/vtctl @deepthi @rohit-nayak-ps
/go/vt/vtctl @rohit-nayak-ps
/go/vt/vtctl/vtctl.go @notfelineit @rohit-nayak-ps
/go/vt/vtctl/grpcvtctldclient @notfelineit @mattlord
/go/vt/vtctl/grpcvtctldserver @notfelineit @mattlord
/go/vt/vtctl/reparentutil @GuptaManan100 @deepthi
/go/vt/vtctl/reparentutil @GuptaManan100
/go/vt/vtctl/vtctldclient @notfelineit @mattlord
/go/vt/vtctld @deepthi @notfelineit @rohit-nayak-ps @mattlord
/go/vt/vtctld @notfelineit @rohit-nayak-ps @mattlord
/go/vt/vterrors @harshit-gangal @systay @frouioui
/go/vt/vtexplain @systay @harshit-gangal
/go/vt/vtgate @harshit-gangal @systay @frouioui @GuptaManan100
/go/vt/vtgate/endtoend/*vstream* @rohit-nayak-ps @mattlord @shlomi-noach @notfelineit
/go/vt/vtgate/planbuilder @harshit-gangal @systay @frouioui @GuptaManan100 @arthurschreiber
/go/vt/vtgate/*vstream* @rohit-nayak-ps @mattlord @shlomi-noach @notfelineit
/go/vt/vtgate/evalengine @dbussink @vmg @systay
/go/vt/vtorc @deepthi @shlomi-noach @GuptaManan100 @timvaillancourt
/go/vt/vtgate/evalengine @dbussink @systay
/go/vt/vtorc @shlomi-noach @GuptaManan100 @timvaillancourt
/go/vt/vttablet/*conn* @harshit-gangal @systay
/go/vt/vttablet/endtoend @harshit-gangal @mattlord @rohit-nayak-ps @systay
/go/vt/vttablet/grpc* @rohit-nayak-ps @shlomi-noach @harshit-gangal
/go/vt/vttablet/onlineddl @mattlord @rohit-nayak-ps @shlomi-noach @notfelineit
/go/vt/vttablet/queryservice @harshit-gangal @systay
/go/vt/vttablet/tabletmanager @deepthi @GuptaManan100 @rohit-nayak-ps @shlomi-noach
/go/vt/vttablet/tabletmanager/rpc_backup.go @deepthi @GuptaManan100 @rohit-nayak-ps @shlomi-noach @frouioui
/go/vt/vttablet/tabletmanager @GuptaManan100 @rohit-nayak-ps @shlomi-noach
/go/vt/vttablet/tabletmanager/rpc_backup.go @GuptaManan100 @rohit-nayak-ps @shlomi-noach @frouioui
/go/vt/vttablet/tabletmanager/rpc_throttler.go @shlomi-noach @mattlord @timvaillancourt
/go/vt/vttablet/tabletserver/throttle @shlomi-noach @mattlord @timvaillancourt
/go/vt/vttablet/tabletmanager/vreplication @rohit-nayak-ps @mattlord @shlomi-noach @notfelineit
@ -82,13 +80,13 @@ go.sum @deepthi @harshit-gangal @mattlord @rohit-nayak-ps @systay @frouioui
/go/vt/vttablet/tabletserver/messager @mattlord @rohit-nayak-ps @derekperkins
/go/vt/vttablet/*tmclient* @GuptaManan100 @rohit-nayak-ps @shlomi-noach
/go/vt/vttablet/vexec @mattlord @rohit-nayak-ps @shlomi-noach
/go/vt/wrangler @deepthi @mattlord @rohit-nayak-ps
/go/vt/wrangler @mattlord @rohit-nayak-ps
/go/vt/vtctl/workflow @mattlord @rohit-nayak-ps @shlomi-noach @notfelineit
/proto/ @deepthi @harshit-gangal
/proto/ @harshit-gangal
/proto/vtadmin.proto @notfelineit @mattlord
/proto/vtctldata.proto @notfelineit @mattlord
/proto/vtctlservice.proto @notfelineit @mattlord
/test/ @GuptaManan100 @frouioui @rohit-nayak-ps @deepthi @mattlord @harshit-gangal
/test/ @GuptaManan100 @frouioui @rohit-nayak-ps @mattlord @harshit-gangal
/tools/ @frouioui @rohit-nayak-ps
/web/vtadmin @notfelineit
/web/vtadmin/src/proto @deepthi @harshit-gangal @mattlord @notfelineit
/web/vtadmin/src/proto @harshit-gangal @mattlord @notfelineit

View File

@ -17,7 +17,7 @@ jobs:
build:
timeout-minutes: 60
name: Run endtoend tests on Cluster (onlineddl_vrepl)
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -17,7 +17,7 @@ jobs:
build:
timeout-minutes: 60
name: Run endtoend tests on Cluster (onlineddl_vrepl_stress)
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -17,7 +17,7 @@ jobs:
build:
timeout-minutes: 60
name: Run endtoend tests on Cluster (onlineddl_vrepl_stress_suite)
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -17,7 +17,7 @@ jobs:
build:
timeout-minutes: 60
name: Run endtoend tests on Cluster (onlineddl_vrepl_suite)
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -17,7 +17,7 @@ jobs:
build:
timeout-minutes: 60
name: Run endtoend tests on Cluster (vreplication_basic)
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -17,7 +17,7 @@ jobs:
build:
timeout-minutes: 60
name: Run endtoend tests on Cluster (vreplication_migrate)
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -0,0 +1,199 @@
# DO NOT MODIFY: THIS FILE IS GENERATED USING "make generate_ci_workflows"
name: Cluster (vreplication_vdiff2)
on: [push, pull_request]
concurrency:
group: format('{0}-{1}', ${{ github.ref }}, 'Cluster (vreplication_vdiff2)')
cancel-in-progress: true
permissions: read-all
env:
LAUNCHABLE_ORGANIZATION: "vitess"
LAUNCHABLE_WORKSPACE: "vitess-app"
GITHUB_PR_HEAD_SHA: "${{ github.event.pull_request.head.sha }}"
jobs:
build:
timeout-minutes: 60
name: Run endtoend tests on Cluster (vreplication_vdiff2)
runs-on: ubuntu-24.04
steps:
- name: Skip CI
run: |
if [[ "${{contains( github.event.pull_request.labels.*.name, 'Skip CI')}}" == "true" ]]; then
echo "skipping CI due to the 'Skip CI' label"
exit 1
fi
- name: Check if workflow needs to be skipped
id: skip-workflow
run: |
skip='false'
if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
skip='true'
fi
echo Skip ${skip}
echo "skip-workflow=${skip}" >> $GITHUB_OUTPUT
PR_DATA=$(curl -s\
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
"https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}")
draft=$(echo "$PR_DATA" | jq .draft -r)
echo "is_draft=${draft}" >> $GITHUB_OUTPUT
- name: Check out code
if: steps.skip-workflow.outputs.skip-workflow == 'false'
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: 'false'
- name: Check for changes in relevant files
if: steps.skip-workflow.outputs.skip-workflow == 'false'
uses: dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a # v3.0.1
id: changes
with:
token: ''
filters: |
end_to_end:
- 'test/config.json'
- 'go/**/*.go'
- 'go/vt/sidecardb/**/*.sql'
- 'go/test/endtoend/onlineddl/vrepl_suite/**'
- 'test.go'
- 'Makefile'
- 'build.env'
- 'go.sum'
- 'go.mod'
- 'proto/*.proto'
- 'tools/**'
- 'config/**'
- 'bootstrap.sh'
- '.github/workflows/cluster_endtoend_vreplication_vdiff2.yml'
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version-file: go.mod
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- name: Tune the OS
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
run: |
# Limit local port range to not use ports that overlap with server side
# ports that we listen on.
sudo sysctl -w net.ipv4.ip_local_port_range="22768 65535"
# Increase the asynchronous non-blocking I/O. More information at https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_use_native_aio
echo "fs.aio-max-nr = 1048576" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf
- name: Get dependencies
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
timeout-minutes: 10
run: |
# Get key to latest MySQL repo
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A8D3785C
# Setup MySQL 8.0
wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
echo mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | sudo debconf-set-selections
sudo DEBIAN_FRONTEND="noninteractive" dpkg -i mysql-apt-config*
sudo apt-get -qq update
# We have to install this old version of libaio1 in case we end up testing with MySQL 5.7. See also:
# https://bugs.launchpad.net/ubuntu/+source/libaio/+bug/2067501
curl -L -O http://mirrors.kernel.org/ubuntu/pool/main/liba/libaio/libaio1_0.3.112-13build1_amd64.deb
sudo dpkg -i libaio1_0.3.112-13build1_amd64.deb
# libtinfo5 is also needed for older MySQL 5.7 builds.
curl -L -O http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
sudo dpkg -i libtinfo5_6.3-2ubuntu0.1_amd64.deb
# Install everything else we need, and configure
sudo apt-get -qq install -y mysql-server mysql-shell mysql-client make unzip g++ etcd-client etcd-server curl git wget eatmydata xz-utils libncurses6
sudo service mysql stop
sudo service etcd stop
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
go mod download
# install JUnit report formatter
go install github.com/vitessio/go-junit-report@HEAD
- name: Setup launchable dependencies
if: steps.skip-workflow.outputs.is_draft == 'false' && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && github.base_ref == 'main'
run: |
# Get Launchable CLI installed. If you can, make it a part of the builder image to speed things up
pip3 install --user launchable~=1.0 > /dev/null
# verify that launchable setup is all correct.
launchable verify || true
# Tell Launchable about the build you are producing and testing
launchable record build --name "$GITHUB_RUN_ID" --no-commit-collection --source .
- name: Run cluster endtoend test
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
timeout-minutes: 45
run: |
# We set the VTDATAROOT to the /tmp folder to reduce the file path of mysql.sock file
# which musn't be more than 107 characters long.
export VTDATAROOT="/tmp/"
source build.env
set -exo pipefail
# Increase our open file descriptor limit as we could hit this
ulimit -n 65536
cat <<-EOF>>./config/mycnf/mysql8026.cnf
innodb_buffer_pool_dump_at_shutdown=OFF
innodb_buffer_pool_in_core_file=OFF
innodb_buffer_pool_load_at_startup=OFF
innodb_buffer_pool_size=64M
innodb_doublewrite=OFF
innodb_flush_log_at_trx_commit=0
innodb_flush_method=O_DIRECT
innodb_numa_interleave=ON
innodb_adaptive_hash_index=OFF
sync_binlog=0
sync_relay_log=0
performance_schema=OFF
slow-query-log=OFF
EOF
cat <<-EOF>>./config/mycnf/mysql8026.cnf
binlog-transaction-compression=ON
EOF
cat <<-EOF>>./config/mycnf/mysql8026.cnf
binlog-row-value-options=PARTIAL_JSON
EOF
# Some of these tests require specific locales to be installed.
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
# run the tests however you normally do, then produce a JUnit XML file
eatmydata -- go run test.go -docker=false -follow -shard vreplication_vdiff2 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
- name: Print test output and Record test result in launchable if PR is not a draft
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
run: |
if [[ "${{steps.skip-workflow.outputs.is_draft}}" == "false" ]]; then
# send recorded tests to launchable
launchable record tests --build "$GITHUB_RUN_ID" go-test . || true
fi
# print test output
cat output.txt
- name: Test Summary
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
with:
paths: "report.xml"
show: "fail"

View File

@ -1,9 +1,9 @@
# DO NOT MODIFY: THIS FILE IS GENERATED USING "make generate_ci_workflows"
name: Cluster (vreplication_vtctldclient_vdiff2_movetables_tz)
name: Cluster (vreplication_vtctldclient_movetables_tz)
on: [push, pull_request]
concurrency:
group: format('{0}-{1}', ${{ github.ref }}, 'Cluster (vreplication_vtctldclient_vdiff2_movetables_tz)')
group: format('{0}-{1}', ${{ github.ref }}, 'Cluster (vreplication_vtctldclient_movetables_tz)')
cancel-in-progress: true
permissions: read-all
@ -16,8 +16,8 @@ env:
jobs:
build:
timeout-minutes: 60
name: Run endtoend tests on Cluster (vreplication_vtctldclient_vdiff2_movetables_tz)
runs-on: gh-hosted-runners-16cores-1-24.04
name: Run endtoend tests on Cluster (vreplication_vtctldclient_movetables_tz)
runs-on: ubuntu-24.04
steps:
- name: Skip CI
@ -71,7 +71,7 @@ jobs:
- 'tools/**'
- 'config/**'
- 'bootstrap.sh'
- '.github/workflows/cluster_endtoend_vreplication_vtctldclient_vdiff2_movetables_tz.yml'
- '.github/workflows/cluster_endtoend_vreplication_vtctldclient_movetables_tz.yml'
- name: Set up Go
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
@ -178,7 +178,7 @@ jobs:
# Some of these tests require specific locales to be installed.
# See https://github.com/cncf/automation/commit/49f2ad7a791a62ff7d038002bbb2b1f074eed5d5
# run the tests however you normally do, then produce a JUnit XML file
eatmydata -- go run test.go -docker=false -follow -shard vreplication_vtctldclient_vdiff2_movetables_tz | tee -a output.txt | go-junit-report -set-exit-code > report.xml
eatmydata -- go run test.go -docker=false -follow -shard vreplication_vtctldclient_movetables_tz | tee -a output.txt | go-junit-report -set-exit-code > report.xml
- name: Print test output and Record test result in launchable if PR is not a draft
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()

View File

@ -16,7 +16,7 @@ permissions: read-all
jobs:
build_and_push_vttestserver:
name: Build and push vttestserver
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
if: github.repository == 'vitessio/vitess'
strategy:
@ -136,7 +136,7 @@ jobs:
build_and_push_components:
name: Build and push
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
if: github.repository == 'vitessio/vitess' && needs.build_and_push_lite.result == 'success'
needs:
- build_and_push_lite

View File

@ -5,10 +5,10 @@ jobs:
build:
name: Local example using ${{ matrix.topo }} on Ubuntu
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
strategy:
matrix:
topo: [consul,etcd,zk2]
topo: [etcd,zk2]
steps:
- name: Skip CI

View File

@ -5,7 +5,7 @@ jobs:
build:
name: Region Sharding example using ${{ matrix.topo }} on Ubuntu
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
strategy:
matrix:
topo: [etcd]

View File

@ -15,7 +15,7 @@ jobs:
build:
name: Unit Test (Race)
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI
run: |

View File

@ -15,7 +15,7 @@ jobs:
build:
name: Unit Test (Evalengine_Race)
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI
run: |

View File

@ -15,7 +15,7 @@ jobs:
pull-requests: write
strategy:
matrix:
branch: [ main, release-21.0, release-20.0 ]
branch: [ main, release-22.0, release-21.0, release-20.0 ]
name: Update Golang Version
runs-on: ubuntu-24.04
steps:
@ -37,9 +37,9 @@ jobs:
old_go_version=$(go run ./go/tools/go-upgrade/go-upgrade.go get go-version)
echo "old-go-version=${old_go_version}" >> $GITHUB_OUTPUT
if [ "${{ matrix.branch }}" == "main" ]; then
if [[ "${{ matrix.branch }}" == "main" ]]; then
go run ./go/tools/go-upgrade/go-upgrade.go upgrade --main --allow-major-upgrade
elif [ "${{ matrix.branch }}" == "release-21.0" ]; then
elif [[ ("${{ matrix.branch }}" == "release-21.0") || ("${{ matrix.branch }}" == "release-22.0") ]]; then
go run ./go/tools/go-upgrade/go-upgrade.go upgrade
else
go run ./go/tools/go-upgrade/go-upgrade.go upgrade --workflow-update=false

View File

@ -13,7 +13,7 @@ jobs:
upgrade_downgrade_test_e2e:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Backups - E2E
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI
@ -74,7 +74,7 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.7
go-version: 1.24.4
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'

View File

@ -14,7 +14,7 @@ jobs:
upgrade_downgrade_test_e2e:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Backups - E2E - Next Release
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -15,7 +15,7 @@ jobs:
upgrade_downgrade_test_manual:
timeout-minutes: 40
name: Run Upgrade Downgrade Test - Backups - Manual
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI
@ -78,7 +78,7 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.7
go-version: 1.24.4
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'

View File

@ -15,7 +15,7 @@ jobs:
upgrade_downgrade_test_manual:
timeout-minutes: 40
name: Run Upgrade Downgrade Test - Backups - Manual - Next Release
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -17,7 +17,7 @@ jobs:
upgrade_downgrade_test:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Online DDL flow
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI
@ -86,7 +86,7 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.7
go-version: 1.24.4
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'

View File

@ -17,7 +17,7 @@ jobs:
upgrade_downgrade_test:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Query Serving (Queries)
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI
@ -78,7 +78,7 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.7
go-version: 1.24.4
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'

View File

@ -17,7 +17,7 @@ jobs:
upgrade_downgrade_test:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Query Serving (Queries - 2)
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI
@ -78,7 +78,7 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.7
go-version: 1.24.4
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'

View File

@ -17,7 +17,7 @@ jobs:
upgrade_downgrade_test:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Query Serving (Queries - 2) Next Release
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -17,7 +17,7 @@ jobs:
upgrade_downgrade_test:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Query Serving (Queries) Next Release
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -17,7 +17,7 @@ jobs:
upgrade_downgrade_test:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Query Serving (Schema)
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI
@ -78,7 +78,7 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.7
go-version: 1.24.4
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'

View File

@ -17,7 +17,7 @@ jobs:
upgrade_downgrade_test:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Query Serving (Schema) Next Release
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -17,7 +17,7 @@ jobs:
upgrade_downgrade_test:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Reparent New Vtctl
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -17,7 +17,7 @@ jobs:
upgrade_downgrade_test:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Reparent New VTTablet
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI

View File

@ -17,7 +17,7 @@ jobs:
upgrade_downgrade_test:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Reparent Old Vtctl
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI
@ -78,7 +78,7 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.7
go-version: 1.24.4
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'

View File

@ -17,7 +17,7 @@ jobs:
upgrade_downgrade_test:
timeout-minutes: 60
name: Run Upgrade Downgrade Test - Reparent Old VTTablet
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI
@ -78,7 +78,7 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.7
go-version: 1.24.4
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'

View File

@ -13,7 +13,7 @@ jobs:
upgrade_downgrade_test_e2e:
timeout-minutes: 60
name: Run Semi Sync Upgrade Downgrade Test
runs-on: gh-hosted-runners-16cores-1-24.04
runs-on: oracle-vm-16cpu-64gb-x86-64
steps:
- name: Skip CI
@ -74,7 +74,7 @@ jobs:
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
with:
go-version: 1.23.7
go-version: 1.24.4
- name: Set up python
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'

1
.gitignore vendored
View File

@ -93,3 +93,4 @@ report
# mise files
.mise.toml
/errors/
go/flags/endtoend/count_flags.sh

View File

@ -18,6 +18,60 @@ linters:
deny:
- pkg: math/rand$
desc: Please use math/rand/v2
mysql_package_restrictions:
list-mode: lax
files:
- "**/go/mysql/**"
- "!**/go/mysql/collations/integration/**"
- "!**/go/mysql/collations/tools/**"
deny:
- pkg: vitess.io/vitess/go/vt/servenv
desc: "mysql package should not depend on servenv - this component should be usable as a library without server infrastructure dependencies"
- pkg: github.com/spf13/pflag
desc: "mysql package should not depend on pflag - this component should be usable as a library with explicit configuration, not global flags"
- pkg: vitess.io/vitess/go/vt/dbconfigs
desc: "mysql package should not depend on dbconfigs - creates servenv dependency"
sqlparser_package_restrictions:
list-mode: lax
files:
- "**/go/vt/sqlparser/**"
- "!**/go/vt/sqlparser/goyacc/**"
deny:
- pkg: github.com/spf13/pflag
desc: "sqlparser package should not depend on pflag except in goyacc subpackage - this component should be usable as a library with explicit configuration, not global flags"
- pkg: vitess.io/vitess/go/vt/servenv
desc: "sqlparser should not depend on servenv - this component should be usable as a library without server infrastructure dependencies"
schemadiff_package_restrictions:
list-mode: lax
files:
- "**/go/vt/schemadiff/**"
deny:
- pkg: github.com/spf13/pflag
desc: "schemadiff package should not depend on pflag - this component should be usable as a library with explicit configuration, not global flags"
- pkg: vitess.io/vitess/go/vt/servenv
desc: "schemadiff should not depend on servenv - this component should be usable as a library without server infrastructure dependencies"
collations_package_restrictions:
list-mode: lax
files:
- "**/go/mysql/collations/**"
- "!**/go/mysql/collations/integration/**"
- "!**/go/mysql/collations/tools/**"
deny:
- pkg: vitess.io/vitess/go/vt/servenv
desc: "collations package should not depend on servenv - this component should be usable as a library without server infrastructure dependencies"
- pkg: github.com/spf13/pflag
desc: "collations package should not depend on pflag - this component should be usable as a library with explicit configuration, not global flags"
vindexes_package_restrictions:
list-mode: lax
files:
- "**/go/vt/vtgate/vindexes/**"
deny:
- pkg: vitess.io/vitess/go/vt/topotools
desc: "vindexes package should not depend on topotools - creates unnecessary dependency tree"
- pkg: github.com/spf13/pflag
desc: "vindexes package should not depend on pflag - this component should be usable as a library with explicit configuration, not global flags"
- pkg: vitess.io/vitess/go/vt/servenv
desc: "vindexes should not depend on servenv - this component should be usable as a library without server infrastructure dependencies"
errcheck:
exclude-functions:
- flag.Set

View File

@ -4,50 +4,45 @@ The following is the full list, alphabetically ordered.
* Andres Taylor ([systay](https://github.com/systay)) andres@planetscale.com
* Arthur Schreiber ([arthurschreiber](https://github.com/arthurschreiber)) arthurschreiber@github.com
* Deepthi Sigireddi ([deepthi](https://github.com/deepthi)) deepthi@planetscale.com
* Derek Perkins ([derekperkins](https://github.com/derekperkins)) derek@nozzle.io
* Dirkjan Bussink ([dbussink](https://github.com/dbussink)) dbussink@planetscale.com
* Florent Poinsard ([frouioui](https://github.com/frouioui)) florent@planetscale.com
* Frances Thai ([notfelineit](https://github.com/notfelineit)) frances@planetscale.com
* Frances Thai ([notfelineit](https://github.com/notfelineit)) notfelineit@gmail.com
* Harshit Gangal ([harshit-gangal](https://github.com/harshit-gangal)) harshit.gangal@gmail.com
* Manan Gupta ([GuptaManan100](https://github.com/GuptaManan100)) manan@planetscale.com
* Manan Gupta ([GuptaManan100](https://github.com/GuptaManan100)) guptamanan100@gmail.com
* Matt Lord ([mattlord](https://github.com/mattlord)) mattalord@gmail.com
* Rohit Nayak ([rohit-nayak-ps](https://github.com/rohit-nayak-ps)) rohit@planetscale.com
* Shlomi Noach ([shlomi-noach](https://github.com/shlomi-noach)) shlomi@planetscale.com
* Tim Vaillancourt ([timvaillancourt](https://github.com/timvaillancourt)) tim@timvaillancourt.com
* Vicent Marti ([vmg](https://github.com/vmg)) vmg@planetscale.com
## Areas of expertise
### General Vitess
deepthi, mattlord, derekperkins
mattlord, derekperkins
### Builds
shlomi-noach, vmg, GuptaManan100, frouioui
shlomi-noach, GuptaManan100, frouioui
### Resharding
rohit-nayak-ps, deepthi, mattlord
rohit-nayak-ps, mattlord
### Parser
systay, harshit-gangal, vmg, GuptaManan100, dbussink
### Evaluation Engine
vmg, dbussink, systay
dbussink, systay
### Planner
systay, harshit-gangal, GuptaManan100, frouioui
### Query Serving
systay, harshit-gangal, GuptaManan100, frouioui, vmg, dbussink
systay, harshit-gangal, GuptaManan100, frouioui, dbussink
### Online DDL
shlomi-noach, dbussink
### Performance
vmg
### Cluster Management
deepthi, GuptaManan100, dbussink
GuptaManan100, dbussink
### Java
harshit-gangal
@ -70,6 +65,7 @@ We thank the following past maintainers for their contributions.
* Anthony Yeh ([enisoc](https://github.com/enisoc))
* Dan Kozlowski ([dkhenry](https://github.com/dkhenry))
* David Weitzman ([dweitzman](https://github.com/dweitzman))
* Deepthi Sigireddi ([deepthi](https://github.com/deepthi))
* Jon Tirsen ([tirsen](https://github.com/tirsen))
* Leo X. Lin ([leoxlin](https://github.com/leoxlin))
* Mali Akmanalp ([makmanalp](https://github.com/makmanalp)
@ -81,3 +77,4 @@ We thank the following past maintainers for their contributions.
* Rafael Chacon ([rafael](https://github.com/rafael))
* Sara Bee ([doeg](https://github.com/doeg))
* Sugu Sougoumarane ([sougou](https://github.com/sougou))
* Vicent Marti ([vmg](https://github.com/vmg))

View File

@ -286,7 +286,7 @@ $(PROTO_GO_OUTS): minimaltools install_protoc-gen-go proto/*.proto
# This rule builds the bootstrap images for all flavors.
DOCKER_IMAGES_FOR_TEST = mysql80 mysql84 percona80
DOCKER_IMAGES = common $(DOCKER_IMAGES_FOR_TEST)
BOOTSTRAP_VERSION=43
BOOTSTRAP_VERSION=46
ensure_bootstrap_version:
find docker/ -type f -exec sed -i "s/^\(ARG bootstrap_version\)=.*/\1=${BOOTSTRAP_VERSION}/" {} \;
sed -i 's/\(^.*flag.String(\"bootstrap-version\",\) *\"[^\"]\+\"/\1 \"${BOOTSTRAP_VERSION}\"/' test.go

View File

@ -17,7 +17,7 @@
source ./tools/shell_functions.inc
go version >/dev/null 2>&1 || fail "Go is not installed or is not in \$PATH. See https://vitess.io/contributing/build-from-source for install instructions."
goversion_min 1.24.1 || echo "Go version reported: `go version`. Version 1.24.1+ recommended. See https://vitess.io/contributing/build-from-source for install instructions."
goversion_min 1.24.4 || echo "Go version reported: `go version`. Version 1.24.4+ recommended. See https://vitess.io/contributing/build-from-source for install instructions."
mkdir -p dist
mkdir -p bin

View File

@ -0,0 +1,51 @@
# Changelog of Vitess v20.0.7
### Bug fixes
#### Backup and Restore
* [release-20.0] Fix tablet selection in `vtctld BackupShard` (#18002) [#18024](https://github.com/vitessio/vitess/pull/18024)
* Fix backup shard copy paste error [#18099](https://github.com/vitessio/vitess/pull/18099)
#### Cluster management
* [release-20.0] ValidateKeyspace: Add check for no shards (#18055) [#18062](https://github.com/vitessio/vitess/pull/18062)
#### Evalengine
* [release-20.0] Implement temporal comparisons (#17826) [#17853](https://github.com/vitessio/vitess/pull/17853)
#### Query Serving
* backport: support subqueries inside subqueries when merging (Release 20.0) [#17810](https://github.com/vitessio/vitess/pull/17810)
* [release-20.0] evalengine: normalize types during compilation (#17887) [#17895](https://github.com/vitessio/vitess/pull/17895)
* [release-20.0] Fix DISTINCT on ENUM/SET columns by making enums/set hashable (#17936) [#17990](https://github.com/vitessio/vitess/pull/17990)
* [release-20.0] Set proper join vars type for the RHS field query in OLAP (#18028) [#18037](https://github.com/vitessio/vitess/pull/18037)
* [release-20.0] Bugfix: Missing data when running vtgate outer joins (#18036) [#18043](https://github.com/vitessio/vitess/pull/18043)
* [release-20.0] bugfix: allow window functions when possible to push down (#18103) [#18104](https://github.com/vitessio/vitess/pull/18104)
#### VReplication
* [release-20.0] VReplication Atomic Copy Workflows: fix bugs around concurrent inserts (#17772) [#17792](https://github.com/vitessio/vitess/pull/17792)
* [release-20.0] Multi-tenant workflow SwitchWrites: Don't add denied tables on cancelMigration() (#17782) [#17796](https://github.com/vitessio/vitess/pull/17796)
* [release-20.0] VDiff: Fix logic for reconciling extra rows (#17950) [#18071](https://github.com/vitessio/vitess/pull/18071)
* [release-20.0] VStream API: Reset stopPos in catchup (#18119) [#18121](https://github.com/vitessio/vitess/pull/18121)
#### VTTablet
* [release-20.0] fix: race on storing schema engine last changed time (#17914) [#17916](https://github.com/vitessio/vitess/pull/17916)
#### vtctldclient
* [release-20.0] Filter out tablets with unknown replication lag when electing a new primary (#18004) [#18074](https://github.com/vitessio/vitess/pull/18074)
* [release-20.0] Fix `Reshard Cancel` behavior (#18020) [#18079](https://github.com/vitessio/vitess/pull/18079)
### CI/Build
#### General
* [release-20.0] Upgrade the Golang version to `go1.22.12` [#17702](https://github.com/vitessio/vitess/pull/17702)
### Performance
#### Performance
* [release-20.0] smartconnpool: Better handling for idle expiration (#17757) [#17780](https://github.com/vitessio/vitess/pull/17780)
#### Query Serving
* [release-20.0] pool: reopen connection closed by idle timeout (#17818) [#17830](https://github.com/vitessio/vitess/pull/17830)
* [release-20.0] Fix: Separate Lock for Keyspace to Update Controller Mapping in Schema Tracking (#17873) [#17884](https://github.com/vitessio/vitess/pull/17884)
### Regression
#### Query Serving
* [release-20.0] Fix a potential connection pool leak. (#17807) [#17813](https://github.com/vitessio/vitess/pull/17813)
#### VTTablet
* [release-20.0] fix: App and Dba Pool metrics (#18048) [#18083](https://github.com/vitessio/vitess/pull/18083)
### Release
#### General
* [release-20.0] Bump to `v20.0.7-SNAPSHOT` after the `v20.0.6` release [#17768](https://github.com/vitessio/vitess/pull/17768)
### Testing
#### Build/CI
* [release-20.0] Use release branches for upgrade downgrade tests (#18029) [#18034](https://github.com/vitessio/vitess/pull/18034)
#### Query Serving
* [release-20.0] [release-21.0] DML test fix for duplicate column value (#17980) [#17987](https://github.com/vitessio/vitess/pull/17987)
* [release-20.0] Test: Increase query timeout to fix flaky test 'TestQueryTimeoutWithShardTargeting' (#18016) [#18039](https://github.com/vitessio/vitess/pull/18039)

View File

@ -0,0 +1,7 @@
# Release of Vitess v20.0.7
The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/20.0/20.0.7/changelog.md).
The release includes 27 merged Pull Requests.
Thanks to all our contributors: @app/vitess-bot, @dbussink, @harshit-gangal, @systay, @vitess-bot

View File

@ -0,0 +1,23 @@
# Changelog of Vitess v20.0.8
### Bug fixes
#### Evalengine
* [release-20.0] fix: Preserve multi-column TupleExpr in tuple simplifier (#18216) [#18218](https://github.com/vitessio/vitess/pull/18218)
* [release-20.0] Fix evalengine crashes on unexpected types (#18254) [#18256](https://github.com/vitessio/vitess/pull/18256)
#### Query Serving
* [release-20.0] Fix: Ensure Consistent Lookup Vindex Handles Duplicate Rows in Single Query (#17974) [#18077](https://github.com/vitessio/vitess/pull/18077)
* [release-20.0] make sure to give MEMBER OF the correct precedence (#18237) [#18243](https://github.com/vitessio/vitess/pull/18243)
* [release-20.0] Fix subquery merging regression introduced in #11379 (#18260) [#18261](https://github.com/vitessio/vitess/pull/18261)
#### Throttler
* [release-20.0] Properly handle grpc dial errors in the throttler metric aggregation (#18073) [#18229](https://github.com/vitessio/vitess/pull/18229)
* [release-20.0] Throttler: keep watching topo even on error (#18223) [#18320](https://github.com/vitessio/vitess/pull/18320)
#### VReplication
* [release-20.0] Atomic Copy: Handle error that was ignored while streaming tables and log it (#18313) [#18314](https://github.com/vitessio/vitess/pull/18314)
### Release
#### General
* [release-20.0] Bump to `v20.0.8-SNAPSHOT` after the `v20.0.7` release [#18147](https://github.com/vitessio/vitess/pull/18147)
* [release-20.0] Code Freeze for `v20.0.8` [#18377](https://github.com/vitessio/vitess/pull/18377)
### Testing
#### Query Serving
* [release-20.0] test: TestQueryTimeoutWithShardTargeting fix flaky test (#18242) [#18248](https://github.com/vitessio/vitess/pull/18248)

View File

@ -0,0 +1,7 @@
# Release of Vitess v20.0.8
The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/20.0/20.0.8/changelog.md).
The release includes 11 merged Pull Requests.
Thanks to all our contributors: @GuptaManan100, @app/vitess-bot, @frouioui

View File

@ -1,4 +1,12 @@
## v20.0
* **[20.0.8](20.0.8)**
* [Changelog](20.0.8/changelog.md)
* [Release Notes](20.0.8/release_notes.md)
* **[20.0.7](20.0.7)**
* [Changelog](20.0.7/changelog.md)
* [Release Notes](20.0.7/release_notes.md)
* **[20.0.6](20.0.6)**
* [Changelog](20.0.6/changelog.md)
* [Release Notes](20.0.6/release_notes.md)

View File

@ -0,0 +1,62 @@
# Changelog of Vitess v21.0.4
### Bug fixes
#### Backup and Restore
* [release-21.0] Fix tablet selection in `vtctld BackupShard` (#18002) [#18025](https://github.com/vitessio/vitess/pull/18025)
* Fix backup shard copy paste error [#18100](https://github.com/vitessio/vitess/pull/18100)
#### Evalengine
* [release-21.0] Implement temporal comparisons (#17826) [#17854](https://github.com/vitessio/vitess/pull/17854)
#### Query Serving
* [release-21.0] Fail assignment expressions with the correct message (#17752) [#17776](https://github.com/vitessio/vitess/pull/17776)
* backport: support subqueries inside subqueries when merging (Release 21.0) [#17811](https://github.com/vitessio/vitess/pull/17811)
* [release-21.0] evalengine: normalize types during compilation (#17887) [#17896](https://github.com/vitessio/vitess/pull/17896)
* [release-21.0] Fix DISTINCT on ENUM/SET columns by making enums/set hashable (#17936) [#17991](https://github.com/vitessio/vitess/pull/17991)
* [release-21.0] go/vt/vtgate: take routing rules into account for traffic mirroring (#17953) [#17994](https://github.com/vitessio/vitess/pull/17994)
* [release-21.0] Set proper join vars type for the RHS field query in OLAP (#18028) [#18038](https://github.com/vitessio/vitess/pull/18038)
* [release-21.0] Bugfix: Missing data when running vtgate outer joins (#18036) [#18044](https://github.com/vitessio/vitess/pull/18044)
* [release-21.0] Fix: Ensure Consistent Lookup Vindex Handles Duplicate Rows in Single Query (#17974) [#18078](https://github.com/vitessio/vitess/pull/18078)
* [release-21.0] bugfix: allow window functions when possible to push down (#18103) [#18105](https://github.com/vitessio/vitess/pull/18105)
#### VReplication
* [release-21.0] VReplication Atomic Copy Workflows: fix bugs around concurrent inserts (#17772) [#17793](https://github.com/vitessio/vitess/pull/17793)
* [release-21.0] Multi-tenant workflow SwitchWrites: Don't add denied tables on cancelMigration() (#17782) [#17797](https://github.com/vitessio/vitess/pull/17797)
* [release-21.0] VDiff: Fix logic for reconciling extra rows (#17950) [#18072](https://github.com/vitessio/vitess/pull/18072)
* [release-21.0] VStream API: Reset stopPos in catchup (#18119) [#18122](https://github.com/vitessio/vitess/pull/18122)
#### VTAdmin
* [release-21.0] [VTAdmin] Insert into schema cache if exists already and not expired (#17908) [#17924](https://github.com/vitessio/vitess/pull/17924)
#### VTCombo
* [release-21.0] Fix vtcombo parsing flags incorrectly (#17743) [#17820](https://github.com/vitessio/vitess/pull/17820)
#### VTTablet
* [release-21.0] fix: race on storing schema engine last changed time (#17914) [#17917](https://github.com/vitessio/vitess/pull/17917)
#### vtctldclient
* [release-21.0] Filter out tablets with unknown replication lag when electing a new primary (#18004) [#18075](https://github.com/vitessio/vitess/pull/18075)
* [release-21.0] Fix `Reshard Cancel` behavior (#18020) [#18080](https://github.com/vitessio/vitess/pull/18080)
### CI/Build
#### General
* [release-21.0] Upgrade the Golang version to `go1.23.6` [#17699](https://github.com/vitessio/vitess/pull/17699)
* [release-21.0] Upgrade the Golang version to `go1.23.7` [#17901](https://github.com/vitessio/vitess/pull/17901)
* [release-21.0] Upgrade the Golang version to `go1.23.8` [#18092](https://github.com/vitessio/vitess/pull/18092)
### Dependencies
#### Build/CI
* [release-21.0] Bump golang.org/x/net from 0.34.0 to 0.36.0 (#17958) [#17960](https://github.com/vitessio/vitess/pull/17960)
### Performance
#### Performance
* [release-21.0] smartconnpool: Better handling for idle expiration (#17757) [#17781](https://github.com/vitessio/vitess/pull/17781)
#### Query Serving
* [release-21.0] pool: reopen connection closed by idle timeout (#17818) [#17829](https://github.com/vitessio/vitess/pull/17829)
* [release-21.0] Fix: Separate Lock for Keyspace to Update Controller Mapping in Schema Tracking (#17873) [#17885](https://github.com/vitessio/vitess/pull/17885)
### Regression
#### Query Serving
* [release-21.0] Fix a potential connection pool leak. (#17807) [#17814](https://github.com/vitessio/vitess/pull/17814)
#### VTTablet
* [release-21.0] fix: App and Dba Pool metrics (#18048) [#18084](https://github.com/vitessio/vitess/pull/18084)
### Release
#### General
* [release-21.0] Bump to `v21.0.4-SNAPSHOT` after the `v21.0.3` release [#17766](https://github.com/vitessio/vitess/pull/17766)
* [release-21.0] Code Freeze for `v21.0.4` [#18135](https://github.com/vitessio/vitess/pull/18135)
### Testing
#### Build/CI
* [release-21.0] Use release branches for upgrade downgrade tests (#18029) [#18035](https://github.com/vitessio/vitess/pull/18035)
#### Query Serving
* [release-21.0] DML test fix for duplicate column value [#17980](https://github.com/vitessio/vitess/pull/17980)
* [release-21.0] Test: Increase query timeout to fix flaky test 'TestQueryTimeoutWithShardTargeting' (#18016) [#18040](https://github.com/vitessio/vitess/pull/18040)

View File

@ -0,0 +1,7 @@
# Release of Vitess v21.0.4
The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/21.0/21.0.4/changelog.md).
The release includes 35 merged Pull Requests.
Thanks to all our contributors: @app/vitess-bot, @dbussink, @frouioui, @harshit-gangal, @mattlord, @systay, @vitess-bot

View File

@ -0,0 +1,30 @@
# Changelog of Vitess v21.0.5
### Bug fixes
#### Evalengine
* [release-21.0] fix: Preserve multi-column TupleExpr in tuple simplifier (#18216) [#18219](https://github.com/vitessio/vitess/pull/18219)
* [release-21.0] Fix evalengine crashes on unexpected types (#18254) [#18257](https://github.com/vitessio/vitess/pull/18257)
#### Query Serving
* [release-21.0] make sure to give MEMBER OF the correct precedence (#18237) [#18244](https://github.com/vitessio/vitess/pull/18244)
* [release-21.0] Fix subquery merging regression introduced in #11379 (#18260) [#18262](https://github.com/vitessio/vitess/pull/18262)
* [release-21.0] fix: keep LIMIT/OFFSET even when merging UNION queries (#18361) [#18362](https://github.com/vitessio/vitess/pull/18362)
#### Throttler
* [release-21.0] Throttler: keep watching topo even on error (#18223) [#18321](https://github.com/vitessio/vitess/pull/18321)
#### VReplication
* [release-21.0] Atomic Copy: Handle error that was ignored while streaming tables and log it (#18313) [#18315](https://github.com/vitessio/vitess/pull/18315)
### CI/Build
#### General
* [release-21.0] Upgrade the Golang version to `go1.23.10` [#18328](https://github.com/vitessio/vitess/pull/18328)
### Dependencies
#### General
* [release-21.0] Bump golang.org/x/net from 0.36.0 to 0.38.0 (#18177) [#18188](https://github.com/vitessio/vitess/pull/18188)
### Release
#### General
* [release-21.0] Bump to `v21.0.5-SNAPSHOT` after the `v21.0.4` release [#18145](https://github.com/vitessio/vitess/pull/18145)
* [release-21.0] Code Freeze for `v21.0.5` [#18372](https://github.com/vitessio/vitess/pull/18372)
### Testing
#### Query Serving
* Skip end-to-end test [#18166](https://github.com/vitessio/vitess/pull/18166)
* [release-21.0] json array insert test [#18194](https://github.com/vitessio/vitess/pull/18194)
* [release-21.0] test: TestQueryTimeoutWithShardTargeting fix flaky test (#18242) [#18249](https://github.com/vitessio/vitess/pull/18249)

View File

@ -0,0 +1,7 @@
# Release of Vitess v21.0.5
The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/21.0/21.0.5/changelog.md).
The release includes 14 merged Pull Requests.
Thanks to all our contributors: @GuptaManan100, @app/vitess-bot, @frouioui, @harshit-gangal, @systay, @vitess-bot

View File

@ -1,4 +1,12 @@
## v21.0
* **[21.0.5](21.0.5)**
* [Changelog](21.0.5/changelog.md)
* [Release Notes](21.0.5/release_notes.md)
* **[21.0.4](21.0.4)**
* [Changelog](21.0.4/changelog.md)
* [Release Notes](21.0.4/release_notes.md)
* **[21.0.3](21.0.3)**
* [Changelog](21.0.3/changelog.md)
* [Release Notes](21.0.3/release_notes.md)

View File

@ -0,0 +1,603 @@
# Changelog of Vitess v22.0.0
### Bug fixes
#### ACL
* Don't exit tablet server on reloading invalid ACL [#17485](https://github.com/vitessio/vitess/pull/17485)
#### Backup and Restore
* fix releasing the global read lock when mysqlshell backup fails [#17000](https://github.com/vitessio/vitess/pull/17000)
* Fix how we cancel the context in the builtin backup engine [#17285](https://github.com/vitessio/vitess/pull/17285)
* Replace uses of os.Create with os2.Create within backup/restore workflows [#17648](https://github.com/vitessio/vitess/pull/17648)
* Fix tablet selection in `vtctld BackupShard` [#18002](https://github.com/vitessio/vitess/pull/18002)
#### Build/CI
* Fix typos in MySQL 8.4 Dockerfile [#17601](https://github.com/vitessio/vitess/pull/17601)
* Fix golang dependencies upgrade workflow [#17692](https://github.com/vitessio/vitess/pull/17692)
#### CLI
* Fix config file not found handling [#17578](https://github.com/vitessio/vitess/pull/17578)
#### Cluster management
* Fix Errant GTID detection logic in `SetReplicationSource` [#17031](https://github.com/vitessio/vitess/pull/17031)
* Fix panic in vttablet when closing topo server twice [#17094](https://github.com/vitessio/vitess/pull/17094)
* Fixes for avoidance of hosts taking backup in PRS & ERS [#17300](https://github.com/vitessio/vitess/pull/17300)
* Clear `demotePrimaryStalled` field after the function ends [#17823](https://github.com/vitessio/vitess/pull/17823)
* fix: fix incorrect nil return value [#17881](https://github.com/vitessio/vitess/pull/17881)
* Fix semi-sync monitor bug of expecting incorrect number of fields [#17939](https://github.com/vitessio/vitess/pull/17939)
* ValidateKeyspace: Add check for no shards [#18055](https://github.com/vitessio/vitess/pull/18055)
* [release-22.0] Add code to clear orphaned files for a deleted keyspace (#18098) [#18115](https://github.com/vitessio/vitess/pull/18115)
#### Evalengine
* Fix week number for date_format evalengine function [#17432](https://github.com/vitessio/vitess/pull/17432)
* [release-20.0] Fix week number for date_format evalengine function (#17432) [#17453](https://github.com/vitessio/vitess/pull/17453)
* [release-19.0] Fix week number for date_format evalengine function (#17432) [#17454](https://github.com/vitessio/vitess/pull/17454)
* Implement temporal comparisons [#17826](https://github.com/vitessio/vitess/pull/17826)
#### Java
* Use proper `groupId` for mysql connector in java [#17540](https://github.com/vitessio/vitess/pull/17540)
#### Online DDL
* Online DDL: fix defer function, potential connection pool exhaustion [#17207](https://github.com/vitessio/vitess/pull/17207)
* Propagate CallerID through vtctld OnlineDDL RPCs [#17935](https://github.com/vitessio/vitess/pull/17935)
#### Query Serving
* fix issue with json unmarshalling of operators with space in them [#16905](https://github.com/vitessio/vitess/pull/16905)
* VTGate MoveTables Buffering: Fix panic when buffering is disabled [#16922](https://github.com/vitessio/vitess/pull/16922)
* fixes bugs around expression precedence and LIKE [#16934](https://github.com/vitessio/vitess/pull/16934)
* Fix `GetUnresolvedTransactions` command for Vtctld [#16961](https://github.com/vitessio/vitess/pull/16961)
* bugfix: add HAVING columns inside derived tables [#16976](https://github.com/vitessio/vitess/pull/16976)
* Handle encoding binary data separately [#16988](https://github.com/vitessio/vitess/pull/16988)
* bugfix: treat EXPLAIN like SELECT [#17054](https://github.com/vitessio/vitess/pull/17054)
* Fix: Update found rows pool transaction capacity dynamically via vttablet debug/env [#17055](https://github.com/vitessio/vitess/pull/17055)
* Delegate Column Availability Checks to MySQL for Single-Route Queries [#17077](https://github.com/vitessio/vitess/pull/17077)
* bugfix: Handle CTEs with columns named in the CTE def [#17179](https://github.com/vitessio/vitess/pull/17179)
* Use proper keyspace when updating the query graph of a reference DML [#17226](https://github.com/vitessio/vitess/pull/17226)
* Reference Table DML Join Fix [#17414](https://github.com/vitessio/vitess/pull/17414)
* Fix Data race in semi-join [#17417](https://github.com/vitessio/vitess/pull/17417)
* vexplain to protect the log fields from concurrent writes [#17460](https://github.com/vitessio/vitess/pull/17460)
* Fix crash in the evalengine [#17487](https://github.com/vitessio/vitess/pull/17487)
* Fix how we generate the query serving error documentation [#17516](https://github.com/vitessio/vitess/pull/17516)
* fix: add missing MySQL 8.4 keywords [#17538](https://github.com/vitessio/vitess/pull/17538)
* Always return a valid timezone in cursor [#17546](https://github.com/vitessio/vitess/pull/17546)
* sizegen: do not ignore type aliases [#17556](https://github.com/vitessio/vitess/pull/17556)
* `sendBinlogDumpCommand`: apply BinlogThroughGTID flag [#17580](https://github.com/vitessio/vitess/pull/17580)
* `parseComBinlogDumpGTID`: GTID payload is always 5.6 flavor [#17605](https://github.com/vitessio/vitess/pull/17605)
* Fix panic inside schema tracker [#17659](https://github.com/vitessio/vitess/pull/17659)
* smartconnpool: do not allow connections to starve [#17675](https://github.com/vitessio/vitess/pull/17675)
* Fail assignment expressions with the correct message [#17752](https://github.com/vitessio/vitess/pull/17752)
* bugfix: support subqueries inside subqueries when merging [#17764](https://github.com/vitessio/vitess/pull/17764)
* evalengine: normalize types during compilation [#17887](https://github.com/vitessio/vitess/pull/17887)
* Fix DISTINCT on ENUM/SET columns by making enums/set hashable [#17936](https://github.com/vitessio/vitess/pull/17936)
* go/vt/vtgate: take routing rules into account for traffic mirroring [#17953](https://github.com/vitessio/vitess/pull/17953)
* Fix TEXT and BLOB column types not supporting length parameter in CREATE TABLE [#17973](https://github.com/vitessio/vitess/pull/17973)
* Fix: Ensure Consistent Lookup Vindex Handles Duplicate Rows in Single Query [#17974](https://github.com/vitessio/vitess/pull/17974)
* Set proper join vars type for the RHS field query in OLAP [#18028](https://github.com/vitessio/vitess/pull/18028)
* Bugfix: Missing data when running vtgate outer joins [#18036](https://github.com/vitessio/vitess/pull/18036)
* Fix `SHOW VITESS_SHARDS` bug that led to incomplete output [#18069](https://github.com/vitessio/vitess/pull/18069)
* [release-22.0] bugfix: allow window functions when possible to push down (#18103) [#18106](https://github.com/vitessio/vitess/pull/18106)
* [release-22.0] Fix: Add tablet type to the plan key (#18155) [#18156](https://github.com/vitessio/vitess/pull/18156)
* [release-22.0] Fix split statement for create procedure to account for definers (#18142) [#18158](https://github.com/vitessio/vitess/pull/18158)
* [release-22.0] bugfix: INSERT IGNORE not inserting rows (#18151) [#18165](https://github.com/vitessio/vitess/pull/18165)
#### Schema Tracker
* `engine.Reload()`: fix file size aggregation for partitioned tables [#18058](https://github.com/vitessio/vitess/pull/18058)
#### Topology
* Close zookeeper topo connection on disconnect [#17136](https://github.com/vitessio/vitess/pull/17136)
* Limit rare race condition in `topo.Server` [#17165](https://github.com/vitessio/vitess/pull/17165)
#### VReplication
* VReplication: Support reversing read-only traffic in vtctldclient [#16920](https://github.com/vitessio/vitess/pull/16920)
* fix: Infinite logs in case of non-existent stream logs [#17004](https://github.com/vitessio/vitess/pull/17004)
* Use proper zstd decoder pool for binlog event compression handling [#17042](https://github.com/vitessio/vitess/pull/17042)
* VReplication: Fixes for generated column handling [#17107](https://github.com/vitessio/vitess/pull/17107)
* VReplication: Qualify and SQL escape tables in created AutoIncrement VSchema definitions [#17174](https://github.com/vitessio/vitess/pull/17174)
* VReplication: recover from closed connection [#17249](https://github.com/vitessio/vitess/pull/17249)
* LookupVindex: fix CLI to allow creating non-unique lookups with single column [#17301](https://github.com/vitessio/vitess/pull/17301)
* SwitchTraffic: use separate context while canceling a migration [#17340](https://github.com/vitessio/vitess/pull/17340)
* LookupVindex bug fix: Fix typos from PR 17301 [#17423](https://github.com/vitessio/vitess/pull/17423)
* VReplication: Handle --vreplication_experimental_flags options properly for partial images [#17428](https://github.com/vitessio/vitess/pull/17428)
* VDiff: Save lastpk value for source and target [#17493](https://github.com/vitessio/vitess/pull/17493)
* Tablet picker: Handle the case where a primary tablet is not setup for a shard [#17573](https://github.com/vitessio/vitess/pull/17573)
* VReplication: Address SwitchTraffic bugs around replication lag and cancel on error [#17616](https://github.com/vitessio/vitess/pull/17616)
* VDiff: fix race when a vdiff resumes on vttablet restart [#17638](https://github.com/vitessio/vitess/pull/17638)
* Atomic Copy: Fix panics when the copy phase starts in some clusters [#17717](https://github.com/vitessio/vitess/pull/17717)
* VReplication Atomic Copy Workflows: fix bugs around concurrent inserts [#17772](https://github.com/vitessio/vitess/pull/17772)
* Multi-tenant workflow SwitchWrites: Don't add denied tables on cancelMigration() [#17782](https://github.com/vitessio/vitess/pull/17782)
* VReplication: Align VReplication and VTGate VStream Retry Logic [#17783](https://github.com/vitessio/vitess/pull/17783)
* VDiff: Fix logic for reconciling extra rows [#17950](https://github.com/vitessio/vitess/pull/17950)
* VDiff: Fix bug with handling tables with no pks but only a unique key. [#17968](https://github.com/vitessio/vitess/pull/17968)
* [release-22.0] VStream API: Reset stopPos in catchup (#18119) [#18123](https://github.com/vitessio/vitess/pull/18123)
#### VTAdmin
* VTAdmin: Support for multiple DataTable accessing same URL [#17036](https://github.com/vitessio/vitess/pull/17036)
* fix SchemaCacheConfig.DefaultExpiration [#17609](https://github.com/vitessio/vitess/pull/17609)
* [VTAdmin] Insert into schema cache if exists already and not expired [#17908](https://github.com/vitessio/vitess/pull/17908)
* vtadmin: allow cluster IDs with underscores by sanitizing resolver scheme [#17962](https://github.com/vitessio/vitess/pull/17962)
#### VTCombo
* Fix vtcombo parsing flags incorrectly [#17743](https://github.com/vitessio/vitess/pull/17743)
#### VTGate
* Fix deadlock between health check and topology watcher [#16995](https://github.com/vitessio/vitess/pull/16995)
* Increase health check channel buffer [#17821](https://github.com/vitessio/vitess/pull/17821)
#### VTTablet
* Fix deadlock in messager and health streamer [#17230](https://github.com/vitessio/vitess/pull/17230)
* Fix potential deadlock in health streamer [#17261](https://github.com/vitessio/vitess/pull/17261)
* fix: race on storing schema engine last changed time [#17914](https://github.com/vitessio/vitess/pull/17914)
* Fix data race in Schema Engine [#17921](https://github.com/vitessio/vitess/pull/17921)
* Schema Engine Reload: check for file and allocated size columns to be available [#17967](https://github.com/vitessio/vitess/pull/17967)
* Allow the use of db credentials when verifying unmanaged tablets config [#17984](https://github.com/vitessio/vitess/pull/17984)
#### VTorc
* Errant GTID detection fix for VTOrc [#17287](https://github.com/vitessio/vitess/pull/17287)
* Use uint64 for binary log file position [#17472](https://github.com/vitessio/vitess/pull/17472)
* `vtorc`: improve handling of partial cell topo results [#17718](https://github.com/vitessio/vitess/pull/17718)
* Take into account the tablet type not being set while checking for primary tablet mismatch recovery [#18032](https://github.com/vitessio/vitess/pull/18032)
#### schema management
* `Applyschema` uses `ExecuteMultiFetchAsDba` [#17078](https://github.com/vitessio/vitess/pull/17078)
* `schemadiff`: consistent key ordering in table diff [#17141](https://github.com/vitessio/vitess/pull/17141)
* schemadiff: skip keys with expressions in Online DDL analysis [#17475](https://github.com/vitessio/vitess/pull/17475)
* `schemadiff`: explicit `ALGORITHM=INSTANT` counts as instant-able [#17942](https://github.com/vitessio/vitess/pull/17942)
* `schemadiff`: normalize `TEXT(length)` and `BLOB(length)` columns [#18030](https://github.com/vitessio/vitess/pull/18030)
#### vtclient
* Fix vtclient vtgate missing flags (specifically --grpc_*) [#17800](https://github.com/vitessio/vitess/pull/17800)
* Fix how we generate `vtclient` CLI docs [#17897](https://github.com/vitessio/vitess/pull/17897)
#### vtctldclient
* Fix flag name typo from #16852 [#16921](https://github.com/vitessio/vitess/pull/16921)
* Correct WriteTopologyPath args to match help text [#17735](https://github.com/vitessio/vitess/pull/17735)
* Filter out tablets with unknown replication lag when electing a new primary [#18004](https://github.com/vitessio/vitess/pull/18004)
* Fix `Reshard Cancel` behavior [#18020](https://github.com/vitessio/vitess/pull/18020)
* [release-22.0] Fix deadlock in `ValidateKeyspace` (#18114) [#18117](https://github.com/vitessio/vitess/pull/18117)
#### vttestserver
* vttestserver should only pass a BindAddressGprc if one is passed in [#17457](https://github.com/vitessio/vitess/pull/17457)
### CI/Build
#### Build/CI
* Flakes: Address flakes in TestMoveTables* unit tests [#16942](https://github.com/vitessio/vitess/pull/16942)
* CI: Correct etcd and ncurses package names for Ubuntu 24.04 [#16966](https://github.com/vitessio/vitess/pull/16966)
* Flakes: Address TestServerStats flakiness [#16991](https://github.com/vitessio/vitess/pull/16991)
* Specify Ubuntu 24.04 for all jobs [#17278](https://github.com/vitessio/vitess/pull/17278)
* use newer versions of actions in scorecard workflow [#17373](https://github.com/vitessio/vitess/pull/17373)
* split upgrade downgrade queries test to 2 CI workflows [#17464](https://github.com/vitessio/vitess/pull/17464)
* CI: fix to Online DDL flow test, do not t.Log from within a goroutine [#17496](https://github.com/vitessio/vitess/pull/17496)
* Revert using the oracle runners [#18015](https://github.com/vitessio/vitess/pull/18015)
#### Cluster management
* Fix flakiness in `TestListenerShutdown` [#17024](https://github.com/vitessio/vitess/pull/17024)
#### Docker
* Build `vttestserver` in GHA and send Slack message on Docker Build failure [#16963](https://github.com/vitessio/vitess/pull/16963)
* feat: add mysql 8.4 docker images [#17529](https://github.com/vitessio/vitess/pull/17529)
#### General
* [main] Upgrade the Golang version to `go1.23.3` [#17199](https://github.com/vitessio/vitess/pull/17199)
* [main] Bump go version to 1.23.4 [#17335](https://github.com/vitessio/vitess/pull/17335)
* [main] Upgrade the Golang version to `go1.23.5` [#17563](https://github.com/vitessio/vitess/pull/17563)
* Add Shlomi & Frances to VReplication CODEOWNERS [#17878](https://github.com/vitessio/vitess/pull/17878)
* [main] Upgrade the Golang version to `go1.24.1` [#17902](https://github.com/vitessio/vitess/pull/17902)
* Fix `sync` import error in keyspace_shard_discovery.go [#17972](https://github.com/vitessio/vitess/pull/17972)
* [release-22.0] Upgrade the Golang version to `go1.24.2` [#18097](https://github.com/vitessio/vitess/pull/18097)
#### Query Serving
* Flakes: Setup new fake server if it has gone away [#17023](https://github.com/vitessio/vitess/pull/17023)
#### Throttler
* Fix flakiness in throttler's `TestDormant` [#17940](https://github.com/vitessio/vitess/pull/17940)
#### VReplication
* VReplication: Restore previous minimal e2e test behavior [#17016](https://github.com/vitessio/vitess/pull/17016)
#### VTAdmin
* Update to latest Nodejs LTS and NPM [#17606](https://github.com/vitessio/vitess/pull/17606)
### Compatibility Bug
#### Query Serving
* Partially revert the binary encoding logic for safer upgrade [#18200](https://github.com/vitessio/vitess/pull/18200)
### Dependencies
#### Build/CI
* Bump golang.org/x/crypto from 0.29.0 to 0.31.0 [#17376](https://github.com/vitessio/vitess/pull/17376)
* Update bundled MySQL version to 8.0.40 [#17552](https://github.com/vitessio/vitess/pull/17552)
* Update dependencies manually [#17691](https://github.com/vitessio/vitess/pull/17691)
* Update to Go 1.24.0 [#17790](https://github.com/vitessio/vitess/pull/17790)
* Bump golang.org/x/net from 0.34.0 to 0.36.0 [#17958](https://github.com/vitessio/vitess/pull/17958)
#### General
* go mod update [#17227](https://github.com/vitessio/vitess/pull/17227)
* Bump golang.org/x/net from 0.31.0 to 0.33.0 [#17416](https://github.com/vitessio/vitess/pull/17416)
* CVE Fix: Update glog to v1.2.4 [#17524](https://github.com/vitessio/vitess/pull/17524)
* Upgrade the Golang Dependencies [#17695](https://github.com/vitessio/vitess/pull/17695)
* Upgrade the Golang Dependencies [#17803](https://github.com/vitessio/vitess/pull/17803)
* [release-22.0] Bump golang.org/x/net from 0.37.0 to 0.38.0 (#18177) [#18189](https://github.com/vitessio/vitess/pull/18189)
#### Java
* Bump commons-io:commons-io from 2.7 to 2.14.0 in /java [#16889](https://github.com/vitessio/vitess/pull/16889)
* java package updates for grpc and protobuf and release plugins [#17100](https://github.com/vitessio/vitess/pull/17100)
* [Java]: Bump mysql-connector-java version from 8.0.33 to mysql-connector-j 8.4.0 [#17522](https://github.com/vitessio/vitess/pull/17522)
* Bump io.netty:netty-handler from 4.1.110.Final to 4.1.118.Final in /java [#17730](https://github.com/vitessio/vitess/pull/17730)
#### Operator
* Upgrade `sigs.k8s.io/controller-tools` and `KUBE_VERSION` [#17889](https://github.com/vitessio/vitess/pull/17889)
#### VTAdmin
* VTAdmin: Upgrade msw package to address security vuln [#17108](https://github.com/vitessio/vitess/pull/17108)
* Bump nanoid from 3.3.7 to 3.3.8 in /web/vtadmin [#17375](https://github.com/vitessio/vitess/pull/17375)
### Documentation
#### Documentation
* Add missing changelog for PR #16852 [#17002](https://github.com/vitessio/vitess/pull/17002)
* [release-22.0] copy edit release notes to prepare for v22 GA (#18186) [#18192](https://github.com/vitessio/vitess/pull/18192)
#### General
* Reorganize the `v22.0.0` release notes [#18052](https://github.com/vitessio/vitess/pull/18052)
#### Governance
* Move Andrew Mason to emeritus [#17745](https://github.com/vitessio/vitess/pull/17745)
* Get some CLOMonitor checks passing [#17773](https://github.com/vitessio/vitess/pull/17773)
* Update email address for mattlord [#17961](https://github.com/vitessio/vitess/pull/17961)
#### Query Serving
* Update Atomic Distributed Transaction Design [#17005](https://github.com/vitessio/vitess/pull/17005)
* [release-22.0] Add summary note change for unsharded `create procedure` support (#18148) [#18157](https://github.com/vitessio/vitess/pull/18157)
### Enhancement
#### Authn/z
* Add support for hashed caching sha2 passwords [#17948](https://github.com/vitessio/vitess/pull/17948)
#### Backup and Restore
* add S3 minimum part size defined by the user [#17171](https://github.com/vitessio/vitess/pull/17171)
* Implement a per-file retry mechanism in the `BuiltinBackupEngine` [#17271](https://github.com/vitessio/vitess/pull/17271)
* Fail VTBackup early when replication or MySQL is failing [#17356](https://github.com/vitessio/vitess/pull/17356)
* Allow for specifying a specific MySQL shutdown timeout [#17923](https://github.com/vitessio/vitess/pull/17923)
#### Build/CI
* Change upgrade test to still use the older version of tests [#16937](https://github.com/vitessio/vitess/pull/16937)
#### Cluster management
* Improve errant GTID detection in ERS to handle more cases. [#16926](https://github.com/vitessio/vitess/pull/16926)
* PRS and ERS don't promote replicas taking backups [#16997](https://github.com/vitessio/vitess/pull/16997)
* go/vt/mysqlctl: add postflight_mysqld_start and preflight_mysqld_shutdown hooks [#17652](https://github.com/vitessio/vitess/pull/17652)
* Add semi-sync monitor to unblock primaries blocked on semi-sync ACKs [#17763](https://github.com/vitessio/vitess/pull/17763)
* [Feature]: Sort results of getTablets for consistency in output/readability [#17771](https://github.com/vitessio/vitess/pull/17771)
* Change healthcheck to only reload specific keyspace shard tablets [#17872](https://github.com/vitessio/vitess/pull/17872)
* Rebuild `SrvKeyspace` and `SrvVSchema` during vtgate init if required [#17915](https://github.com/vitessio/vitess/pull/17915)
#### Documentation
* CobraDocs: Remove commit hash from docs. Fix issue with workdir replacement [#17392](https://github.com/vitessio/vitess/pull/17392)
* Fix `vtbackup` help output [#17892](https://github.com/vitessio/vitess/pull/17892)
#### Evalengine
* Improved Compatibility Around LAST_INSERT_ID - evalengine [#17409](https://github.com/vitessio/vitess/pull/17409)
#### Examples
* Added the initial script for the 40x example for backup and restore [#16893](https://github.com/vitessio/vitess/pull/16893)
* Feature Request: Change varbinary to varchar in schemas used in examples folder [#17318](https://github.com/vitessio/vitess/pull/17318)
#### General
* MySQL errors: `ERWrongParamcountToNativeFct` [#16914](https://github.com/vitessio/vitess/pull/16914)
* Standardize topo flags to use hyphen-based naming [#17975](https://github.com/vitessio/vitess/pull/17975)
#### Observability
* Improve vtgate logging for buffering [#17654](https://github.com/vitessio/vitess/pull/17654)
* Add more vstream metrics for vstream manager [#17858](https://github.com/vitessio/vitess/pull/17858)
#### Online DDL
* Online DDL: detect `vreplication` errors via `vreplication_log` history [#16925](https://github.com/vitessio/vitess/pull/16925)
* Online DDL: better error messages in cut-over phase [#17052](https://github.com/vitessio/vitess/pull/17052)
* Improve Schema Engine's TablesWithSize80 query [#17066](https://github.com/vitessio/vitess/pull/17066)
* Online DDL: dynamic cut-over threshold via `ALTER VITESS_MIGRATION ... CUTOVER_THRESHOLD ...` command [#17126](https://github.com/vitessio/vitess/pull/17126)
* Online DDL: `--singleton-table` DDL strategy flag [#17169](https://github.com/vitessio/vitess/pull/17169)
* Online DDL: `ANALYZE` the shadow table before cut-over [#17201](https://github.com/vitessio/vitess/pull/17201)
* Online DDL: publish `vreplication_lag_seconds` from vreplication progress [#17263](https://github.com/vitessio/vitess/pull/17263)
* Online DDL `--analyze-table`: use non-local `ANALYZE TABLE` [#17462](https://github.com/vitessio/vitess/pull/17462)
* Online DDL forced cut-over: terminate transactions holding metadata locks on table [#17535](https://github.com/vitessio/vitess/pull/17535)
* Online DDL: consider UUID throttle ratios in `user_throttle_ratio` [#17850](https://github.com/vitessio/vitess/pull/17850)
#### Operator
* Update example operator.yaml to support vtgate HPA [#16805](https://github.com/vitessio/vitess/pull/16805)
* `operator.yaml`: pass on the `sidecarDbName` when creating a keyspace [#17739](https://github.com/vitessio/vitess/pull/17739)
* Use `vtbackup` in scheduled backups [#17869](https://github.com/vitessio/vitess/pull/17869)
* Support multiple namespaces with the vitess-operator [#17928](https://github.com/vitessio/vitess/pull/17928)
* Add deployment strategy to vtgate in `operator.yaml` [#18063](https://github.com/vitessio/vitess/pull/18063)
#### Query Serving
* Support settings changes with atomic transactions [#16974](https://github.com/vitessio/vitess/pull/16974)
* Fix to prevent stopping buffering prematurely [#17013](https://github.com/vitessio/vitess/pull/17013)
* Atomic Transaction `StartCommit` api to return the commit state [#17116](https://github.com/vitessio/vitess/pull/17116)
* --consolidator-query-waiter-cap to set the max number of waiter for consolidated query [#17244](https://github.com/vitessio/vitess/pull/17244)
* Handle MySQL handler error codes [#17252](https://github.com/vitessio/vitess/pull/17252)
* Track shard session affecting change inside the transaction [#17266](https://github.com/vitessio/vitess/pull/17266)
* Allow for dynamic configuration of DDL settings [#17328](https://github.com/vitessio/vitess/pull/17328)
* Allow dynamic configuration of vschema acl [#17333](https://github.com/vitessio/vitess/pull/17333)
* Range Query Optimization (For sequential Vindex types) [#17342](https://github.com/vitessio/vitess/pull/17342)
* Add missing tables to globally routed list in schema tracker only if they are not already present in a VSchema [#17371](https://github.com/vitessio/vitess/pull/17371)
* Add linearizable support to SQL VSchema management [#17401](https://github.com/vitessio/vitess/pull/17401)
* Improved Compatibility Around LAST_INSERT_ID [#17408](https://github.com/vitessio/vitess/pull/17408)
* Make transaction mode a dynamic configuration [#17419](https://github.com/vitessio/vitess/pull/17419)
* Views: VTGate changes for seamless integration [#17439](https://github.com/vitessio/vitess/pull/17439)
* VALUES statement AST and parsing [#17500](https://github.com/vitessio/vitess/pull/17500)
* Remove shard targeted keyspace from database qualifier on the query [#17503](https://github.com/vitessio/vitess/pull/17503)
* Add support for global routing in describe statement [#17510](https://github.com/vitessio/vitess/pull/17510)
* Engine primitive for join-values [#17518](https://github.com/vitessio/vitess/pull/17518)
* Improve sizegen to handle more types [#17583](https://github.com/vitessio/vitess/pull/17583)
* Views global routing [#17633](https://github.com/vitessio/vitess/pull/17633)
* Handle Percona compressed column extension [#17660](https://github.com/vitessio/vitess/pull/17660)
* Wrap fatal TX errors in a new `vterrors` code [#17669](https://github.com/vitessio/vitess/pull/17669)
* Parse SRID attribute for virtual columns [#17680](https://github.com/vitessio/vitess/pull/17680)
* Vtgate metrics: Added plan and query type metrics [#17727](https://github.com/vitessio/vitess/pull/17727)
* Add a Visitable interface to support AST nodes declared outside sqlparser [#17875](https://github.com/vitessio/vitess/pull/17875)
* Unsharded support for `CREATE PROCEDURE` and `DROP PROCEDURE` statement [#17946](https://github.com/vitessio/vitess/pull/17946)
* Ensure DML Queries with Large Input Rows Succeed When Passthrough DML is Enabled [#17949](https://github.com/vitessio/vitess/pull/17949)
* Pass through predicates when trying to merge apply join. [#17955](https://github.com/vitessio/vitess/pull/17955)
* Planner: Allow Arbitrary Expression Pushdown in UNION Queries [#18000](https://github.com/vitessio/vitess/pull/18000)
* Make it possible to use paths with Visitable nodes [#18053](https://github.com/vitessio/vitess/pull/18053)
#### Throttler
* Tablet throttler: read and use MySQL host metrics [#16904](https://github.com/vitessio/vitess/pull/16904)
* Multi-metrics throttler: post v21 deprecations and changes [#16915](https://github.com/vitessio/vitess/pull/16915)
* Multi-metrics throttler: adding InnoDB `history_list_length` metric [#17262](https://github.com/vitessio/vitess/pull/17262)
#### Topology
* Avoid flaky topo concurrency test [#17407](https://github.com/vitessio/vitess/pull/17407)
#### VReplication
* fix: Avoid creation of workflows with non-empty tables in target keyspace [#16874](https://github.com/vitessio/vitess/pull/16874)
* VReplication: Properly support cancel and delete for multi-tenant MoveTables [#16906](https://github.com/vitessio/vitess/pull/16906)
* VDiff: Also generate default new UUID in VtctldServer VDiffCreate [#17003](https://github.com/vitessio/vitess/pull/17003)
* VReplication: Relax restrictions on Cancel and ReverseTraffic when writes not involved [#17128](https://github.com/vitessio/vitess/pull/17128)
* Binlog: Improve ZstdInMemoryDecompressorMaxSize management [#17220](https://github.com/vitessio/vitess/pull/17220)
* VReplication: Support for filter using `IN` operator [#17296](https://github.com/vitessio/vitess/pull/17296)
* VReplication: Support binlog_row_value_options=PARTIAL_JSON [#17345](https://github.com/vitessio/vitess/pull/17345)
* Export `BuildSummary` func for VDiff show [#17413](https://github.com/vitessio/vitess/pull/17413)
* VReplication: Improve error handling in VTGate VStreams [#17558](https://github.com/vitessio/vitess/pull/17558)
* VReplication Workflow command: Allow stop/start on specific shards [#17581](https://github.com/vitessio/vitess/pull/17581)
* VReplication: Support for `BETWEEN`/`NOT BETWEEN` filter in VStream [#17721](https://github.com/vitessio/vitess/pull/17721)
* VReplication: Support ignoring the source Keyspace on MoveTables cancel/complete [#17729](https://github.com/vitessio/vitess/pull/17729)
* VReplication: Support excluding lagging tablets and use this in vstream manager [#17835](https://github.com/vitessio/vitess/pull/17835)
* VStream: Add `IS NULL` filter support [#17848](https://github.com/vitessio/vitess/pull/17848)
* VTTablet schema reload: include stats only on periodic reload for all flavors. Default to "base table" query for the "with sizes" query for 5.7 only [#17855](https://github.com/vitessio/vitess/pull/17855)
* Refactor vstream_dynamic_packet_size and vstream_packet_size flags to use dashes [#17964](https://github.com/vitessio/vitess/pull/17964)
* VReplication Workflows: make defer-secondary-keys true by default [#18006](https://github.com/vitessio/vitess/pull/18006)
#### VTAdmin
* VTAdmin: Support for Workflow Actions [#16816](https://github.com/vitessio/vitess/pull/16816)
* VTAdmin: Support for conclude txn and abandon age param [#16834](https://github.com/vitessio/vitess/pull/16834)
* VTAdmin(web): Add refresh compatibility to workflow screen (all tabs) [#16865](https://github.com/vitessio/vitess/pull/16865)
* VTAdmin: Add support for Create Reshard [#16903](https://github.com/vitessio/vitess/pull/16903)
* VTAdmin: Support for `Materialize` Create [#16941](https://github.com/vitessio/vitess/pull/16941)
* VTAdmin: Support for `VDiff` create and show last [#16943](https://github.com/vitessio/vitess/pull/16943)
* VTAdmin: Support for schema migrations view/create [#17134](https://github.com/vitessio/vitess/pull/17134)
* Add GetTransactionInfo in VTadmin API and page [#17142](https://github.com/vitessio/vitess/pull/17142)
* VTAdmin(web): Add simpler topology tree structure [#17245](https://github.com/vitessio/vitess/pull/17245)
* vtadmin: enable sorting in all tables [#17468](https://github.com/vitessio/vitess/pull/17468)
* VTAdmin to use VTGate's vexplain [#17508](https://github.com/vitessio/vitess/pull/17508)
* VTAdmin: Add advanced workflow `switchtraffic` options [#17658](https://github.com/vitessio/vitess/pull/17658)
* VTAdmin: update logo and favicon for the new Vitess logos [#17715](https://github.com/vitessio/vitess/pull/17715)
* vtadmin: display transaction participant list as comma separated [#17986](https://github.com/vitessio/vitess/pull/17986)
#### VTGate
* Store the health check subscriber name to improve error message [#17863](https://github.com/vitessio/vitess/pull/17863)
#### VTTablet
* vttablet debugenv changes [#17161](https://github.com/vitessio/vitess/pull/17161)
* Fail loading an ACL config if the provided file is empty and enforceTableACLConfig is true [#17274](https://github.com/vitessio/vitess/pull/17274)
* Refactor Disk Stall implementation and mark tablet not serving if disk is stalled [#17624](https://github.com/vitessio/vitess/pull/17624)
#### VTorc
* Improve efficiency of `vtorc` topo calls [#17071](https://github.com/vitessio/vitess/pull/17071)
* `vtorc`: require topo for `Healthy: true` in `/debug/health` [#17129](https://github.com/vitessio/vitess/pull/17129)
* `vtorc`: make SQL formatting consistent [#17154](https://github.com/vitessio/vitess/pull/17154)
* Fix errant GTID detection in VTOrc to also work with a replica not connected to any primary [#17267](https://github.com/vitessio/vitess/pull/17267)
* Add StalledDiskPrimary analysis and recovery to vtorc [#17470](https://github.com/vitessio/vitess/pull/17470)
* Use prefix in all vtorc check and recover logs [#17526](https://github.com/vitessio/vitess/pull/17526)
* Add stats for shards watched by VTOrc, purge stale shards [#17815](https://github.com/vitessio/vitess/pull/17815)
* Add VTOrc recovery for mismatch in tablet type [#17870](https://github.com/vitessio/vitess/pull/17870)
* `vtorc`: add tablets watched stats [#17911](https://github.com/vitessio/vitess/pull/17911)
* `vtorc`: add stats to shard locks and instance discovery [#17977](https://github.com/vitessio/vitess/pull/17977)
#### schema management
* Only run sidecardb change detection on serving primary tablets [#17051](https://github.com/vitessio/vitess/pull/17051)
* `engine.Reload()`: read InnoDB tables sizes including `FULLTEXT` index volume [#17118](https://github.com/vitessio/vitess/pull/17118)
* `schemadiff`: validate uniqueness of `CHECK` and of `FOREIGN KEY` constraints [#17627](https://github.com/vitessio/vitess/pull/17627)
* `schemadiff` textual annotation fix + tests [#17630](https://github.com/vitessio/vitess/pull/17630)
* Supporting `InnoDBParallelReadThreadsCapability` [#17689](https://github.com/vitessio/vitess/pull/17689)
* Ignore execution time errors for schemadiff view analysis [#17704](https://github.com/vitessio/vitess/pull/17704)
* schemadiff: `ViewDependencyUnresolvedError` lists missing referenced entities [#17711](https://github.com/vitessio/vitess/pull/17711)
#### vtctldclient
* Add RPC to read the statements to be executed in an unresolved prepared transaction [#17131](https://github.com/vitessio/vitess/pull/17131)
#### vttestserver
* Add support for receiving `grpc_bind_adress` on `vttestserver` [#17231](https://github.com/vitessio/vitess/pull/17231)
#### web UI
* VTAdmin(web): Better visualization for JSON screens [#17459](https://github.com/vitessio/vitess/pull/17459)
* VTAdmin: Show Hostname Alongside Tablet ID on tablet selection drop-downs [#17982](https://github.com/vitessio/vitess/pull/17982)
### Feature
#### Cluster management
* Tool to determine mapping from vindex and value to shard [#17290](https://github.com/vitessio/vitess/pull/17290)
#### Query Serving
* Add savepoint support to atomic distributed transaction [#16863](https://github.com/vitessio/vitess/pull/16863)
* feat: add metrics for atomic distributed transactions [#16939](https://github.com/vitessio/vitess/pull/16939)
* connection pool: max idle connections implementation [#17443](https://github.com/vitessio/vitess/pull/17443)
* [release-22.0] Add a new implementation for handling multiple queries without needing to split them (#18059) [#18139](https://github.com/vitessio/vitess/pull/18139)
#### VReplication
* LookupVindex: Implement `internalize` command for lookup vindexes [#17429](https://github.com/vitessio/vitess/pull/17429)
* VReplication: Support passing VStream filters down to MySQL [#17677](https://github.com/vitessio/vitess/pull/17677)
* VReplication SwitchTraffic: for a dry run check if sequences need to be updated [#17842](https://github.com/vitessio/vitess/pull/17842)
#### VTGate
* Add option to log error queries only [#17554](https://github.com/vitessio/vitess/pull/17554)
#### VTTablet
* Add a way to know if DemotePrimary is blocked and send it in the health stream [#17289](https://github.com/vitessio/vitess/pull/17289)
* Add index and table metrics to vttablet [#17570](https://github.com/vitessio/vitess/pull/17570)
#### VTorc
* Improve VTOrc config handling to support dynamic variables [#17218](https://github.com/vitessio/vitess/pull/17218)
* Support KeyRange in `--clusters_to_watch` flag [#17604](https://github.com/vitessio/vitess/pull/17604)
### Internal Cleanup
#### ACL
* Remove unused code from go/acl [#17741](https://github.com/vitessio/vitess/pull/17741)
#### Backup and Restore
* Remove binlog-server point in time recoveries code & tests [#17361](https://github.com/vitessio/vitess/pull/17361)
#### Build/CI
* Add release-21.0 to the Golang Upgrade workflow [#16916](https://github.com/vitessio/vitess/pull/16916)
* Change the name of the vitess-tester repository [#16917](https://github.com/vitessio/vitess/pull/16917)
* Security improvements to GitHub Actions [#17520](https://github.com/vitessio/vitess/pull/17520)
* Rename docker clusters for more clarity and group all java test together [#17542](https://github.com/vitessio/vitess/pull/17542)
* Upgrade default etcd version to 3.5.17 [#17653](https://github.com/vitessio/vitess/pull/17653)
* test: replace `t.Errorf` and `t.Fatalf` with `assert` and `require` [#17720](https://github.com/vitessio/vitess/pull/17720)
* Simply changing GH Actions runner [#17788](https://github.com/vitessio/vitess/pull/17788)
* nit: move new `const`s to own section [#17802](https://github.com/vitessio/vitess/pull/17802)
* Add support for `GOPRIVATE` in CI templates [#17806](https://github.com/vitessio/vitess/pull/17806)
* Allow build git envs to be set in `docker/lite` [#17827](https://github.com/vitessio/vitess/pull/17827)
* Set 16 core runners to oci gh arc runners [#17879](https://github.com/vitessio/vitess/pull/17879)
* Add @frouioui to CODEOWNERS for backups [#17927](https://github.com/vitessio/vitess/pull/17927)
* Migrate all but one of the other jobs to use cncf-hosted gha runners [#17943](https://github.com/vitessio/vitess/pull/17943)
* re-replace most runners with the cncf-hosted runners [#17993](https://github.com/vitessio/vitess/pull/17993)
#### CLI
* Remove deprecated items before `v22.0.0` [#17894](https://github.com/vitessio/vitess/pull/17894)
#### Cluster management
* Remove legacy way of considering SQL thread being stopped on a replica as unreachable [#17918](https://github.com/vitessio/vitess/pull/17918)
#### General
* sqltypes: add ToTime conversion funcs [#17178](https://github.com/vitessio/vitess/pull/17178)
* Fix integer parsing logic [#17650](https://github.com/vitessio/vitess/pull/17650)
* Remove unused code from go/mysql package [#17740](https://github.com/vitessio/vitess/pull/17740)
* Remove bits of unused code across various packages [#17785](https://github.com/vitessio/vitess/pull/17785)
* sqltypes: move datetime handling to Value method [#17929](https://github.com/vitessio/vitess/pull/17929)
* Remove direct usage of archived github.com/pkg/errors (#17933) [#17934](https://github.com/vitessio/vitess/pull/17934)
* Update to golangci-lint 2 [#18050](https://github.com/vitessio/vitess/pull/18050)
#### Java
* Update the how to release java docs [#17603](https://github.com/vitessio/vitess/pull/17603)
#### Observability
* Remove unused go/stats code [#17742](https://github.com/vitessio/vitess/pull/17742)
#### Online DDL
* Online DDL: removal of `gh-ost` and `pt-osc` strategies [#17626](https://github.com/vitessio/vitess/pull/17626)
#### Query Serving
* Parse enum/set values with `sqlparser` [#17133](https://github.com/vitessio/vitess/pull/17133)
* Deprecate `twopc_enable` flag and change input type for `twopc_abandon_age` to time.Duration [#17279](https://github.com/vitessio/vitess/pull/17279)
* Improve logging in buffering [#17294](https://github.com/vitessio/vitess/pull/17294)
* refactor: rename DefaultKeyspace() to CurrentKeyspace() [#17303](https://github.com/vitessio/vitess/pull/17303)
* refactor: VTGate executor with a runnable context package [#17305](https://github.com/vitessio/vitess/pull/17305)
* Clean up duplicate datetime parsing code [#17582](https://github.com/vitessio/vitess/pull/17582)
* Make sure no AST types are bare slices [#17674](https://github.com/vitessio/vitess/pull/17674)
* Small planner refactoring [#17851](https://github.com/vitessio/vitess/pull/17851)
* Refactor Join Predicate Handling in Planner [#17877](https://github.com/vitessio/vitess/pull/17877)
* VTGate: Session in StreamExecute response as default [#17907](https://github.com/vitessio/vitess/pull/17907)
* Refactor transitive closure handling [#17978](https://github.com/vitessio/vitess/pull/17978)
#### TabletManager
* Use non-deprecated flags to skip replication [#17400](https://github.com/vitessio/vitess/pull/17400)
* Add forward compatibility for caching_sha2_password and replication [#18033](https://github.com/vitessio/vitess/pull/18033)
#### Throttler
* throttler: formal gRPC calls in endtoend tests, removing HTTP API calls [#16530](https://github.com/vitessio/vitess/pull/16530)
* e2e framework change to find empty throttler config [#17228](https://github.com/vitessio/vitess/pull/17228)
* Multi-metrics throttler post v21 cleanup: remove unthrottled entry from topo [#17283](https://github.com/vitessio/vitess/pull/17283)
#### VReplication
* refac: Remove duplicate `forAllShards` methods from `vt/vtctl/workflow` [#17025](https://github.com/vitessio/vitess/pull/17025)
* VDiff: Comment the VDiffCreate proto msg and set reasonable server side defaults [#17026](https://github.com/vitessio/vitess/pull/17026)
* refac: Refactor `Server.GetWorkflows()` [#17092](https://github.com/vitessio/vitess/pull/17092)
* Refactor `Server.LookupVindexCreate` [#17242](https://github.com/vitessio/vitess/pull/17242)
* Remove unused code for old START_GTID logic [#17265](https://github.com/vitessio/vitess/pull/17265)
* VDiff: Remove extra % sign in vdiff text report template [#17568](https://github.com/vitessio/vitess/pull/17568)
* VReplication: CODEOWNERS and unit test housekeeping [#17646](https://github.com/vitessio/vitess/pull/17646)
* Always make sure to escape all strings [#17649](https://github.com/vitessio/vitess/pull/17649)
#### VTGate
* Change keys of the discovery flags such that they conform to the convention [#17430](https://github.com/vitessio/vitess/pull/17430)
#### VTTablet
* Remove deprecated `--disable_active_reparents` flag [#17919](https://github.com/vitessio/vitess/pull/17919)
#### VTorc
* `vtorc`: cleanup init db handling [#17198](https://github.com/vitessio/vitess/pull/17198)
* Cleanup legacy MariaDB bits from vtorc [#17415](https://github.com/vitessio/vitess/pull/17415)
* Make all durability policy names constants [#17448](https://github.com/vitessio/vitess/pull/17448)
* Remove unused code in discovery queue creation [#17515](https://github.com/vitessio/vitess/pull/17515)
* `vtorc`: use `golang.org/x/sync/semaphore`, add flag for db concurrency [#17837](https://github.com/vitessio/vitess/pull/17837)
* `vtorc`: use `errgroup` in keyspace/shard discovery [#17857](https://github.com/vitessio/vitess/pull/17857)
* `vtorc`: add stats for discovery workers [#17937](https://github.com/vitessio/vitess/pull/17937)
#### vtctldclient
* Move all e2e tests to vtctldclient [#17441](https://github.com/vitessio/vitess/pull/17441)
* Add vtctldclient missing cmds and remove remaining vtctl[client] usage in e2e tests [#17442](https://github.com/vitessio/vitess/pull/17442)
### Performance
#### Backup and Restore
* go/stats: improve performance of safeJoinLabels [#16953](https://github.com/vitessio/vitess/pull/16953)
#### Performance
* `vtorc`: fetch all tablets from cells once + filter during refresh [#17388](https://github.com/vitessio/vitess/pull/17388)
* smartconnpool: Better handling for idle expiration [#17757](https://github.com/vitessio/vitess/pull/17757)
#### Query Serving
* grpc: upgrade to 1.66.2 and use Codec v2 [#16790](https://github.com/vitessio/vitess/pull/16790)
* Benchmark Prepared statement and expected Improvement [#17449](https://github.com/vitessio/vitess/pull/17449)
* Reduce VTGate Normalizer multiple AST walks [#17619](https://github.com/vitessio/vitess/pull/17619)
* Optimise AST rewriting [#17623](https://github.com/vitessio/vitess/pull/17623)
* Faster dependency copying [#17708](https://github.com/vitessio/vitess/pull/17708)
* Use ast-paths for subquery planning to improve performance [#17738](https://github.com/vitessio/vitess/pull/17738)
* Faster Prepared Statement Execution by Using Raw SQL for Caching [#17777](https://github.com/vitessio/vitess/pull/17777)
* pool: reopen connection closed by idle timeout [#17818](https://github.com/vitessio/vitess/pull/17818)
* Fix: Separate Lock for Keyspace to Update Controller Mapping in Schema Tracking [#17873](https://github.com/vitessio/vitess/pull/17873)
* Implement Deferred Optimization for Prepared Statements [#17992](https://github.com/vitessio/vitess/pull/17992)
* Only sort when receiving results from multiple shards [#17998](https://github.com/vitessio/vitess/pull/17998)
#### Throttler
* Throttler: reduce regexp/string allocations by pre-computing pascal case [#17817](https://github.com/vitessio/vitess/pull/17817)
#### VReplication
* VReplication: Optimize replication on target tablets [#17166](https://github.com/vitessio/vitess/pull/17166)
* VStreamer: For larger compressed transaction payloads, stream the internal contents [#17239](https://github.com/vitessio/vitess/pull/17239)
* VReplication: Disable /debug/vrlog by default [#17832](https://github.com/vitessio/vitess/pull/17832)
#### VTGate
* Ensure all topo read calls consider `--topo_read_concurrency` [#17276](https://github.com/vitessio/vitess/pull/17276)
#### VTTablet
* Skip Field Query for Views During Schema Refresh to Improve Reload Time [#18066](https://github.com/vitessio/vitess/pull/18066)
#### VTorc
* Move to native sqlite3 queries [#17124](https://github.com/vitessio/vitess/pull/17124)
* `vtorc`: cleanup discover queue, add concurrency flag [#17825](https://github.com/vitessio/vitess/pull/17825)
* `vtorc`: remove duplicate instance read from backend [#17834](https://github.com/vitessio/vitess/pull/17834)
* `vtorc`: add index for `inst.ReadInstanceClusterAttributes` table scan [#17866](https://github.com/vitessio/vitess/pull/17866)
* `vtorc`: skip unnecessary backend read in `logic.LockShard(...)` [#17900](https://github.com/vitessio/vitess/pull/17900)
### Regression
#### Backup and Restore
* Fix unreachable errors when taking a backup [#17062](https://github.com/vitessio/vitess/pull/17062)
#### Java
* [Java] Fix dependency issues in Java package [#17481](https://github.com/vitessio/vitess/pull/17481)
#### Query Serving
* Add support for `MultiEqual` opcode for lookup vindexes. [#16975](https://github.com/vitessio/vitess/pull/16975)
* fix: route engine to handle column truncation for execute after lookup [#16981](https://github.com/vitessio/vitess/pull/16981)
* Fix release 18 again [#17069](https://github.com/vitessio/vitess/pull/17069)
* Fix a potential connection pool leak. [#17807](https://github.com/vitessio/vitess/pull/17807)
#### VTTablet
* fix: App and Dba Pool metrics [#18048](https://github.com/vitessio/vitess/pull/18048)
### Release
#### Build/CI
* Fix the release workflow [#16964](https://github.com/vitessio/vitess/pull/16964)
* v19 EOL: Remove v19 from Golang Update Version CI workflow [#17932](https://github.com/vitessio/vitess/pull/17932)
#### Documentation
* Update the EOL documentation [#17215](https://github.com/vitessio/vitess/pull/17215)
* [release-22.0] Update release notes with proper upgrade path [#18197](https://github.com/vitessio/vitess/pull/18197)
* [release-22.0] Narrow down affected users by new v22 migration path [#18199](https://github.com/vitessio/vitess/pull/18199)
#### General
* Bump to `v22.0.0-SNAPSHOT` after the `v21.0.0-RC1` release [#16913](https://github.com/vitessio/vitess/pull/16913)
* [main] Copy `v21.0.0-RC1` release notes [#16954](https://github.com/vitessio/vitess/pull/16954)
* [main] Copy `v21.0.0-RC2` release notes [#17048](https://github.com/vitessio/vitess/pull/17048)
* [main] Copy `v21.0.0` release notes [#17097](https://github.com/vitessio/vitess/pull/17097)
* [main] Copy `v18.0.8` release notes [#17155](https://github.com/vitessio/vitess/pull/17155)
* [main] Copy `v19.0.7` release notes [#17157](https://github.com/vitessio/vitess/pull/17157)
* [main] Copy `v20.0.3` release notes [#17159](https://github.com/vitessio/vitess/pull/17159)
* [main] Copy `v19.0.8` release notes [#17320](https://github.com/vitessio/vitess/pull/17320)
* [main] Copy `v20.0.4` release notes [#17322](https://github.com/vitessio/vitess/pull/17322)
* [main] Copy `v21.0.1` release notes [#17324](https://github.com/vitessio/vitess/pull/17324)
* [main] Copy `v19.0.9` release notes [#17595](https://github.com/vitessio/vitess/pull/17595)
* [main] Copy `v20.0.5` release notes [#17597](https://github.com/vitessio/vitess/pull/17597)
* [main] Copy `v21.0.2` release notes [#17599](https://github.com/vitessio/vitess/pull/17599)
* [main] Copy `v21.0.3` release notes [#17765](https://github.com/vitessio/vitess/pull/17765)
* [main] Copy `v20.0.6` release notes [#17767](https://github.com/vitessio/vitess/pull/17767)
* [main] Copy `v19.0.10` release notes [#17769](https://github.com/vitessio/vitess/pull/17769)
* [release-22.0] Code Freeze for `v22.0.0-RC1` [#18087](https://github.com/vitessio/vitess/pull/18087)
* Bump to `v23.0.0-SNAPSHOT` after the `v22.0.0-RC1` release [#18088](https://github.com/vitessio/vitess/pull/18088)
* [release-22.0] Release of `v22.0.0-RC1` [#18128](https://github.com/vitessio/vitess/pull/18128)
* [release-22.0] Bump to `v22.0.0-SNAPSHOT` after the `v22.0.0-RC1` release [#18134](https://github.com/vitessio/vitess/pull/18134)
* [release-22.0] Release of `v22.0.0-RC2` [#18168](https://github.com/vitessio/vitess/pull/18168)
* [release-22.0] Bump to `v22.0.0-SNAPSHOT` after the `v22.0.0-RC2` release [#18170](https://github.com/vitessio/vitess/pull/18170)
* [release-22.0] Release of `v22.0.0-RC3` [#18204](https://github.com/vitessio/vitess/pull/18204)
* [release-22.0] Bump to `v22.0.0-SNAPSHOT` after the `v22.0.0-RC3` release [#18206](https://github.com/vitessio/vitess/pull/18206)
### Testing
#### Backup and Restore
* fix flaky test on mysqlshell backup engine [#17037](https://github.com/vitessio/vitess/pull/17037)
* [release-21.0] fix flaky test on mysqlshell backup engine [#17981](https://github.com/vitessio/vitess/pull/17981)
#### Build/CI
* Fix flakiness in `TestDisruptions` for two pc testing [#17106](https://github.com/vitessio/vitess/pull/17106)
* Flakes: Address flakiness in TestZkConnClosedOnDisconnect [#17194](https://github.com/vitessio/vitess/pull/17194)
* A couple `endtoend` cluster tests enhancement [#17247](https://github.com/vitessio/vitess/pull/17247)
* Fix fuzzer paths [#17380](https://github.com/vitessio/vitess/pull/17380)
* Use release branches for upgrade downgrade tests [#18029](https://github.com/vitessio/vitess/pull/18029)
#### Cluster management
* Flaky test fixes [#16940](https://github.com/vitessio/vitess/pull/16940)
#### General
* Remove broken panic handler [#17354](https://github.com/vitessio/vitess/pull/17354)
#### Java
* Remove deprecated syntax [#17631](https://github.com/vitessio/vitess/pull/17631)
#### Operator
* Add CI for VTop example [#16007](https://github.com/vitessio/vitess/pull/16007)
#### Query Serving
* fix: flaky test on twopc transaction [#17068](https://github.com/vitessio/vitess/pull/17068)
* Fix flaky test `TestShardSync` [#17095](https://github.com/vitessio/vitess/pull/17095)
* Run plan tests in end to end configuration [#17117](https://github.com/vitessio/vitess/pull/17117)
* List join predicates used in `GetVExplainKeys` [#17130](https://github.com/vitessio/vitess/pull/17130)
* Fix flakiness in `TestReadTransactionStatus` [#17277](https://github.com/vitessio/vitess/pull/17277)
* Add multi table updates in the 2pc fuzzer testing [#17293](https://github.com/vitessio/vitess/pull/17293)
* Add test for vindexes in atomic transactions package [#17308](https://github.com/vitessio/vitess/pull/17308)
* Fix flakiness in `TestSemiSyncRequiredWithTwoPC` [#17332](https://github.com/vitessio/vitess/pull/17332)
* test fix: make sure to keep the skipE2E field around [#17357](https://github.com/vitessio/vitess/pull/17357)
* Ensure PRS runs for all the shards in `TestSemiSyncRequiredWithTwoPC` [#17384](https://github.com/vitessio/vitess/pull/17384)
* Consistent lookup vindex tests for atomic distributed transactions [#17393](https://github.com/vitessio/vitess/pull/17393)
* benchmark: TwoPC commit mode [#17397](https://github.com/vitessio/vitess/pull/17397)
* test: make it easier to run tests without a main keyspace [#17501](https://github.com/vitessio/vitess/pull/17501)
* Fix TestTrackerNoLock flaky test by increasing time to mark failure [#17886](https://github.com/vitessio/vitess/pull/17886)
* Test: Increase query timeout to fix flaky test 'TestQueryTimeoutWithShardTargeting' [#18016](https://github.com/vitessio/vitess/pull/18016)
* Skip end-to-end test [#18162](https://github.com/vitessio/vitess/pull/18162)
#### TabletManager
* Skip `TestRunFailsToStartTabletManager` for now [#17167](https://github.com/vitessio/vitess/pull/17167)
* Fix flaky mysqlctl blackbox test [#17387](https://github.com/vitessio/vitess/pull/17387)
#### VReplication
* VReplication fix Flaky e2e test TestMoveTablesBuffering [#17180](https://github.com/vitessio/vitess/pull/17180)
* VReplication Flaky Test fix: TestVtctldMigrateSharded [#17182](https://github.com/vitessio/vitess/pull/17182)
* test: Add missing unit tests in `vtctl/workflow` [#17304](https://github.com/vitessio/vitess/pull/17304)
* test: Add missing tests for `traffic_switcher.go` [#17334](https://github.com/vitessio/vitess/pull/17334)
* VReplication: Enable VPlayerBatching in unit tests [#17339](https://github.com/vitessio/vitess/pull/17339)
* Flaky test fix: TestMoveTablesSharded and TestMoveTablesUnsharded [#17343](https://github.com/vitessio/vitess/pull/17343)
* test: Include unit tests for `switcher-dry-run` [#17403](https://github.com/vitessio/vitess/pull/17403)
* Flaky TestMoveTables(Un)sharded: Handle race condition [#17440](https://github.com/vitessio/vitess/pull/17440)
* Move VDiff related workflow server APIs to `vdiff.go` and add unit tests [#17466](https://github.com/vitessio/vitess/pull/17466)
* Fix flaky vreplication tests: correct logic that checks for workflow state in test helper [#17498](https://github.com/vitessio/vitess/pull/17498)
* Flaky TestTickSkip: Remove inherently flaky test [#17504](https://github.com/vitessio/vitess/pull/17504)
* test: Add unit tests for `vtctl/workflow` [#17618](https://github.com/vitessio/vitess/pull/17618)
* test: Add more unit tests for `server.go` [#17679](https://github.com/vitessio/vitess/pull/17679)
* CI: Add some randomness to the ports used in VReplication e2e tests [#17712](https://github.com/vitessio/vitess/pull/17712)
#### VTGate
* [release-22.0]: skip test check for upgrade test for TestStraighJoin [#18153](https://github.com/vitessio/vitess/pull/18153)
#### VTTablet
* Fix data race in `TestIsServingLocked` [#17728](https://github.com/vitessio/vitess/pull/17728)
#### VTorc
* Remove mysql parameters from VTOrc setup [#16996](https://github.com/vitessio/vitess/pull/16996)
* Fix flakiness in checking for drained tablets in Vtorc test [#18008](https://github.com/vitessio/vitess/pull/18008)
#### schema management
* `schemadiff`: more index expression validations (tests only) [#17483](https://github.com/vitessio/vitess/pull/17483)

View File

@ -0,0 +1,382 @@
# Release of Vitess v22.0.0
## Summary
### Table of Contents
- **[Major Changes](#major-changes)**
- **[Deprecations](#deprecations)**
- [Metrics](#deprecated-metrics)
- [CLI Flags](#deprecated-cli-flags)
- **[Deletions](#deletions)**
- [Metrics](#deleted-metrics)
- [CLI Flags](#deleted-cli-flags)
- [gh-ost and pt-osc Online DDL strategies](#deleted-ghost-ptosc)
- **[New Metrics](#new-metrics)**
- [VTGate](#new-vtgate-metrics)
- [VTTablet](#new-vtgate-metrics)
- **[Config File Changes](#config-file-changes)**
- [VTOrc](#vtorc-config-file-changes)
- [VTGate](#vtgate-config-file-changes)
- **[VTOrc](#vtorc)**
- [Stalled Disk Recovery](#stall-disk-recovery-vtorc)
- [KeyRanges in `--clusters_to_watch`](#key-range-vtorc)
- **[New Default Versions](#new-default-versions)**
- [MySQL 8.0.40](#mysql-8-0-40)
- [Docker `vitess/lite` images with Debian Bookworm](#debian-bookworm)
- **[New Support](#new-support)**
- [More Efficient JSON Replication](#efficient-json-replication)
- [LAST_INSERT_ID(x)](#last-insert-id)
- [Maximum Idle Connections in the Pool](#max-idle-connections)
- [Filtering Query logs on Error](#query-logs)
- [MultiQuery RPC in vtgate](#multiquery)
- [Unsharded `CREATE PROCEDURE` support](#create-procedure)
- **[Optimization](#optimization)**
- [Prepared Statement](#prepared-statement)
- **[New VtctldServer RPC](#rpc-changes)**
- **[Prefer not promoting a replica that is currently taking a backup](#reparents-prefer-not-backing-up)**
- **[Semi-sync monitor in vttablet](#semi-sync-monitor)**
- **[Wrapped fatal transaction errors](#new-errors-fatal-tx)**
- **[Minor Changes](#minor-changes)**
- **[Topology read concurrency behaviour changes](#topo-read-concurrency-changes)**
- **[VTTablet](#minor-changes-vttablet)**
- [CLI Flags](#flags-vttablet)
- [ACL enforcement and reloading](#reloading-vttablet-acl)
- **[VTAdmin](#vtadmin)**
- [Updated to node v22.13.1](#updated-node)
## <a id="major-changes"/>Major Changes</a>
### <a id="deprecations"/>Deprecations</a>
#### <a id="deprecated-metrics"/>Metrics</a>
| Component | Metric Name | Deprecation PR |
|:---------:|:-------------------------:|:-------------------------------------------------------:|
| `vtgate` | `QueriesProcessed` | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `vtgate` | `QueriesRouted` | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `vtgate` | `QueriesProcessedByTable` | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `vtgate` | `QueriesRoutedByTable` | [#17727](https://github.com/vitessio/vitess/pull/17727) |
#### <a id="deprecated-cli-flags"/>CLI Flags</a>
| Component | Flag Name | Notes | Deprecation PR |
|:----------:|:--------------------------------:|----------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------:|
| `vttablet` | `twopc_enable` | Usage of TwoPC commit will be determined by the `transaction_mode` set on VTGate via flag or session variable. | [#17279](https://github.com/vitessio/vitess/pull/17279) |
| `vtgate` | `grpc-send-session-in-streaming` | Session will always be sent as part of the response from the StreamExecute RPC. | [#17907](https://github.com/vitessio/vitess/pull/17907) |
---
### <a id="deletions"/>Deletions</a>
#### <a id="deleted-metrics"/>Metrics</a>
| Component | Metric Name | Was Deprecated In | Deletion PR |
|:----------:|:---------------------:|:-----------------:|:-------------------------------------------------------:|
| `vttablet` | `QueryCacheLength` | `v21.0.0` | [#16289](https://github.com/vitessio/vitess/pull/16289) |
| `vttablet` | `QueryCacheSize` | `v21.0.0` | [#16289](https://github.com/vitessio/vitess/pull/16289) |
| `vttablet` | `QueryCacheCapacity` | `v21.0.0` | [#16289](https://github.com/vitessio/vitess/pull/16289) |
| `vttablet` | `QueryCacheEvictions` | `v21.0.0` | [#16289](https://github.com/vitessio/vitess/pull/16289) |
| `vttablet` | `QueryCacheHits` | `v21.0.0` | [#16289](https://github.com/vitessio/vitess/pull/16289) |
| `vttablet` | `QueryCacheMisses` | `v21.0.0` | [#16289](https://github.com/vitessio/vitess/pull/16289) |
#### <a id="deleted-cli-flags"/>CLI Flags</a>
| Component | Flag Name | Was Deprecated In | Deletion PR |
|:-----------------------------:|:----------------------------------:|:-----------------:|:-------------------------------------------------------:|
| `vttablet` | `queryserver-enable-settings-pool` | `v21.0.0` | [#16280](https://github.com/vitessio/vitess/pull/16280) |
| `vttablet` | `remove-sharded-auto-increment` | `v21.0.0` | [#16860](https://github.com/vitessio/vitess/pull/16860) |
| `vttablet` | `disable_active_reparents` | `v20.0.0` | [#14871](https://github.com/vitessio/vitess/pull/14871) |
| `vtgate`, `vtcombo`, `vtctld` | `healthcheck-dial-concurrency` | `v21.0.0` | [#16378](https://github.com/vitessio/vitess/pull/16378) |
#### <a id="deleted-ghost-ptosc"/>gh-ost and pt-osc Online DDL strategies</a>
Vitess no longer recognizes the `gh-ost` and `pt-osc` (`pt-online-schema-change`) Online DDL strategies. The `vitess` strategy is the recommended way to make schema changes at scale. `mysql` and `direct` strategies continue to be supported.
These `vttablet` flags have been removed:
- `--gh-ost-path`
- `--pt-osc-path`
Attempting to use `gh-ost` or `pt-osc` as `--ddl-strategy` will yield an error:
```sh
$ vtctldclient ApplySchema --ddl-strategy="gh-ost" ...
$ vtctldclient ApplySchema --ddl-strategy="pt-osc" ...
```
---
### <a id="new-metrics"/>New Metrics
#### <a id="new-vtgate-metrics"/>VTGate
| Name | Dimensions | Description | PR |
|:-------------------------:|:-------------------------------------:|:-----------------------------------------------------------:|:-------------------------------------------------------:|
| `QueryExecutions` | `Query`, `Plan`, `Tablet` | Number of queries executed. | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `QueryRoutes` | `Query`, `Plan`, `Tablet` | Number of vttablets the query was executed on. | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `QueryExecutionsByTable` | `Query`, `Table` | Queries executed by vtgate, with counts recorded per table. | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `VStreamsCount` | `Keyspace`, `ShardName`, `TabletType` | Number of active vstreams. | [#17858](https://github.com/vitessio/vitess/pull/17858) |
| `VStreamsEventsStreamed` | `Keyspace`, `ShardName`, `TabletType` | Number of events sent across all vstreams. | [#17858](https://github.com/vitessio/vitess/pull/17858) |
| `VStreamsEndedWithErrors` | `Keyspace`, `ShardName`, `TabletType` | Number of vstreams that ended with errors. | [#17858](https://github.com/vitessio/vitess/pull/17858) |
| `CommitModeTimings` | `Mode` | Timing metrics for commit (Single, Multi, TwoPC). | [#16939](https://github.com/vitessio/vitess/pull/16939) |
| `CommitUnresolved` | N/A | Counter for 2PC transaction failures after Prepare. | [#16939](https://github.com/vitessio/vitess/pull/16939) |
The work done in [#17727](https://github.com/vitessio/vitess/pull/17727) introduces new metrics for queries. Via this work we have deprecated several vtgate metrics, please see the [Deprecated Metrics](#deprecated-metrics) section. Here is an example of how the new metrics are calculated:
```
Query: select t1.a, t2.b from t1 join t2 on t1.id = t2.id
Shards: 2
Sharding Key: id for both tables
Metrics Published:
1. QueryExecutions {select, scatter, primary}, 1
2. QueryRoutes {select, scatter, primary}, 2
3. QueryExecutionsByTable {select, t1}, 1 and {select, t2}, 1
```
#### <a id="new-vttablet-metrics"/>VTTablet
| Name | Dimensions | Description | PR |
|:-------------------------:|:----------------:|:-------------------------------------------------:|:-------------------------------------------------------:|
| `TableRows` | `Table` | Estimated number of rows in the table. | [#17570](https://github.com/vitessio/vitess/pull/17570) |
| `TableClusteredIndexSize` | `Table` | Byte size of the clustered index (i.e. row data). | [#17570](https://github.com/vitessio/vitess/pull/17570) |
| `IndexCardinality` | `Table`, `Index` | Estimated number of unique values in the index | [#17570](https://github.com/vitessio/vitess/pull/17570) |
| `IndexBytes` | `Table`, `Index` | Byte size of the index. | [#17570](https://github.com/vitessio/vitess/pull/17570) |
| `UnresolvedTransaction` | `ManagerType` | Current number of unresolved transactions. | [#16939](https://github.com/vitessio/vitess/pull/16939) |
| `CommitPreparedFail` | `FailureType` | Transactions that failed to commit after prepare. | [#16939](https://github.com/vitessio/vitess/pull/16939) |
| `RedoPreparedFail` | `FailureType` | Transactions that failed to re-prepare. | [#16939](https://github.com/vitessio/vitess/pull/16939) |
---
### <a id="config-file-changes"/>Config File Changes</a>
#### <a id="vtorc-config-file-changes"/>VTOrc</a>
VTOrc now supports dynamic configuration using [viper](https://github.com/spf13/viper). The old `--config` parameter has been removed. Use the `--config-file` parameter instead. Configuration can be provided in json, yaml or any other format that viper supports.
The following fields can be dynamically changed -
1. `instance-poll-time`
2. `prevent-cross-cell-failover`
3. `snapshot-topology-interval`
4. `reasonable-replication-lag`
5. `audit-to-backend`
6. `audit-to-syslog`
7. `audit-purge-duration`
8. `wait-replicas-timeout`
9. `tolerable-replication-lag`
10. `topo-information-refresh-duration`
11. `recovery-poll-duration`
12. `allow-emergency-reparent`
13. `change-tablets-with-errant-gtid-to-drained`
To upgrade to the new version of the configuration file, first switch to using the flags in your current deployment before upgrading. Then you can switch to using the configuration file after upgrade.
#### <a id="vtgate-config-file-changes"/>VTGate</a>
The Viper configuration keys for the following flags has been changed to match their flag names. Previously they had a discovery prefix instead of it being part of the name.
| Flag Name | Old Configuration Key | New Configuration Key |
|--------------------------------------------------|--------------------------------------------------|--------------------------------------------------|
| `discovery_low_replication_lag` | `discovery.low_replication_lag` | `discovery_low_replication_lag` |
| `discovery_high_replication_lag_minimum_serving` | `discovery.high_replication_lag_minimum_serving` | `discovery_high_replication_lag_minimum_serving` |
| `discovery_min_number_serving_vttablets` | `discovery.min_number_serving_vttablets` | `discovery_min_number_serving_vttablets` |
| `discovery_legacy_replication_lag_algorithm` | `discovery.legacy_replication_lag_algorithm` | `discovery_legacy_replication_lag_algorithm` |
To upgrade to the newer version of the configuration keys, first switch to using the flags in your current deployment before upgrading. Then you can switch to using the new configuration keys after upgrade.
---
### <a id="vtorc"/>VTOrc</a>
#### <a id="stall-disk-recovery-vtorc"/>Stalled Disk Recovery</a>
VTOrc can now identify and recover from stalled disk errors.
VTTablets test whether the disk is writable and they send this information in the `FullStatus` RPC response to VTOrc.
If the disk is not writable on the primary tablet, VTOrc will attempt to recover the cluster by promoting a new primary.
This is useful in scenarios where the disk is stalled and the primary vttablet is unable to accept writes because of it.
To opt into this feature, `--enable-primary-disk-stalled-recovery` flag has to be specified on VTOrc, and `--disk-write-dir` flag has to be specified on the vttablets.
`--disk-write-interval` and `--disk-write-timeout` flags can be used to configure the polling interval and timeout respectively.
#### <a id="key-range-vtorc"/>KeyRanges in `--clusters_to_watch`</a>
VTOrc now supports specifying keyranges in the `--clusters_to_watch` flag. This means that there is no need to restart a VTOrc instance with a different flag value when you reshard a keyspace.
For example, if a VTOrc is configured to watch `ks/-80`, then it would watch all the shards that fall under the keyrange `-80`.
If a reshard is performed and `-80` is split into new shards `-40` and `40-80`, the VTOrc instance will automatically start watching the new shards without needing a restart.
In the previous logic, specifying `ks/-80` for the flag would mean that VTOrc would watch only 1 (or no) shard.
In the new system, since we interpret `-80` as a key range, it can watch multiple shards as described in the example.
Users can continue to specify exact keyranges. The new feature is backward compatible.
---
### <a id="new-default-versions"/>New Default Versions</a>
#### <a id="mysql-8-0-40"/>MySQL 8.0.40</a>
The default major MySQL version used by our `vitess/lite:latest` image is going from `8.0.30` to `8.0.40`.
This change was merged in [#17552](https://github.com/vitessio/vitess/pull/17552).
VTGate also advertises MySQL version `8.0.40` by default instead of `8.0.30`. If that is not what you are running, you can set the `mysql_server_version` flag to advertise the desired version.
> ⚠️ Upgrading to this release with vitess-operator:
>
> If you are using the `vitess-operator`, considering that we are bumping the MySQL version from `8.0.30` to `8.0.40`, you will have to manually upgrade:
>
> 1. Add `innodb_fast_shutdown=0` to your extra cnf in your YAML file.
> 2. Apply this file.
> 3. Wait for all the pods to be healthy.
> 4. Then change your YAML file to use the new Docker Images (`vitess/lite:v22.0.0`).
> 5. Remove `innodb_fast_shutdown=0` from your extra cnf in your YAML file.
> 6. Apply this file.
>
> This is the last time this will be needed in the `8.0.x` series, as starting with MySQL `8.0.35` it is possible to upgrade and downgrade between `8.0.x` versions without needing to run `innodb_fast_shutdown=0`.
#### <a id="debian-bookworm"/>Docker `vitess/lite` images with Debian Bookworm</a>
The docker build system now uses Debian Bookworm instead of Debian Bullseye for the `vitess/lite` images. This change was merged in [#17552](https://github.com/vitessio/vitess/pull/17552).
---
### <a id="new-support"/>New Support</a>
#### <a id="efficient-json-replication"/>More Efficient JSON Replication</a>
In [#7345](https://github.com/vitessio/vitess/pull/17345) we added support for [`--binlog-row-value-options=PARTIAL_JSON`](https://dev.mysql.com/doc/refman/en/replication-options-binary-log.html#sysvar_binlog_row_value_options). You can read more about [this feature added to MySQL 8.0 here](https://dev.mysql.com/blog-archive/efficient-json-replication-in-mysql-8-0/).
If you are using MySQL 8.0 or later and using JSON columns, you can now enable this MySQL feature across your Vitess cluster(s) to lower the disk space needed for binary logs and improve the CPU and memory usage in both `mysqld` (standard intrashard MySQL replication) and `vttablet` ([VReplication](https://vitess.io/docs/reference/vreplication/vreplication/)) without losing any capabilities or features.
#### <a id="last-insert-id"/>`LAST_INSERT_ID(x)`</a>
In [#17408](https://github.com/vitessio/vitess/pull/17408) and [#17409](https://github.com/vitessio/vitess/pull/17409), we added the ability to use `LAST_INSERT_ID(x)` in Vitess directly at vtgate. This improvement allows certain queries—like `SELECT last_insert_id(123);` or `SELECT last_insert_id(count(*)) ...`—to be handled without relying on MySQL for the final value.
**Limitations**:
- When using `LAST_INSERT_ID(x)` in ordered queries (e.g., `SELECT last_insert_id(col) FROM table ORDER BY foo`), MySQL sets the sessions last-insert-id value according to the *last row returned*. Vitess does not guarantee the same behavior.
#### <a id="max-idle-connections"/>Maximum Idle Connections in the Pool</a>
In [#17443](https://github.com/vitessio/vitess/pull/17443) we introduced a new configurable max-idle-count parameter for connection pools. This allows you to specify the maximum number of idle connections retained in each connection pool to optimize performance and resource efficiency.
You can control idle connection retention for the query servers query pool, stream pool, and transaction pool with the following flags:
• --queryserver-config-query-pool-max-idle-count: Defines the maximum number of idle connections retained in the query pool.
• --queryserver-config-stream-pool-max-idle-count: Defines the maximum number of idle connections retained in the stream pool.
• --queryserver-config-txpool-max-idle-count: Defines the maximum number of idle connections retained in the transaction pool.
This feature ensures that, during traffic spikes, idle connections are available for faster responses, while minimizing overhead in low-traffic periods by limiting the number of idle connections retained. It helps strike a balance between performance, efficiency, and cost.
#### <a id="query-logs"/>Filtering Query logs on Error</a>
The `querylog-mode` setting can be configured to `error` to log only queries that result in errors. This option is supported in both VTGate and VTTablet.
---
#### <a id="multiquery"/>MultiQuery RPC in vtgate</a>
New RPCs have been added to VTGate that allow users to pass multiple queries in a single sql string. The behavior is the same as that of MySQL: the RPCs will return multiple result sets in the same order as the queries until and unless an error is encountered. The new RPCs are `ExecuteMulti` and `StreamExecuteMulti`.
A new flag `--mysql-server-multi-query-protocol` has also been added that makes the server use this new implementation. This flag is set to `false` by default, so the old implementation is used by default. The new implementation is more efficient and allows for better performance when executing multiple queries in a single RPC call.
---
#### <a id="create-procedure"/>Unsharded `CREATE PROCEDURE` support</a>
Until now Vitess didn't allow users to create procedures through VTGate. They had to be created by running a DDL directly against the underlying MySQL. In this release, we have started adding support for running `CREATE PROCEDURE` statements through VTGate for unsharded keyspaces. Not all constructs of procedures are currently supported in the parser, so there are still some limitations which will be addressed in future releases.
---
### <a id="optimization"/>Optimization</a>
#### <a id="prepared-statement"/>Prepared Statement</a>
Prepared statements now benefit from Deferred Optimization, enabling parameter-aware query plans.
Initially, a baseline plan is created at prepare-time, and on first execution, a more efficient parameter-optimized plan is generated.
Subsequent executions dynamically switch between these plans based on input values, improving query performance while ensuring correctness.
---
### <a id="rpc-changes"/>New VtctldServer RPC</a>
`GetTransactionInfo` RPC has been added to `VtctldServer` and `TabletManagerClient` interfaces. These RPCs can be used to read the state of an unresolved distributed transaction. This can be useful in debugging what went wrong and how to fix the problem.
---
### <a id="reparents-prefer-not-backing-up"/>Prefer not promoting a replica that is currently taking a backup
Emergency reparents now prefer to not promote replicas that are currently taking backups with a backup engine other than
`builtin`. Note that if there's only one suitable replica to promote, and it is taking a backup, it will still be
promoted.
For planned reparents, hosts taking backups with a backup engine other than `builtin` are filtered out of the list of
valid candidates. This means they will never get promoted - not even if there are no other candidates.
Note that behavior for `builtin` backups remains unchanged: a replica that is currently taking a `builtin` backup will
never be promoted, neither by planned nor by emergency reparents.
---
### <a id="semi-sync-monitor"/>Semi-sync monitor in vttablet</a>
Primary VTTablets now monitor the semi-sync status of their underlying MySQL instance .
We've observed cases where a brief network disruption can cause the primary to get stuck indefinitely waiting for semi-sync ACKs.
In rare scenarios, this can also block reparent operations and render the primary unresponsive.
More information can be found in the issues [#17709](https://github.com/vitessio/vitess/issues/17709) and [#17749](https://github.com/vitessio/vitess/issues/17749).
To address this, the primary VTTablets continuously monitor their semi-sync status. If the primary MySQL gets stuck waiting for semi-sync ACKs, the monitor generates synthetic writes to unblock it. If this fails, VTOrc is notified of the issue and it will initiate an emergency reparent operation.
The monitoring interval can be adjusted using the `--semi-sync-monitor-interval` flag, which defaults to 10 seconds.
---
### <a id="new-errors-fatal-tx"/>Wrapped fatal transaction errors</a>
When a query fails while running in a transaction, due to the transaction no longer being valid (e.g. PRS, rollout, primary down, etc.), the original error is now wrapped in a `VT15001` error.
When a query produce a `VT15001` error, VTGate will try to rollback and clear the transaction.
Any new queries on the same connection will fail with a `VT09032` error, until a `ROLLBACK` is received
to acknowledge that the transaction was automatically rolled back and cleared by VTGate.
`VT09032` is returned to clients to avoid applications blindly sending queries to VTGate thinking they are still in a transaction.
This change was introduced by [#17669](https://github.com/vitessio/vitess/pull/17669).
---
## <a id="minor-changes"/>Minor Changes</a>
### <a id="topo-read-concurrency-changes"/>`--topo_read_concurrency` behaviour changes
The `--topo_read_concurrency` flag was added to all components that access the topology and the provided limit is now applied separately for each global or local cell _(default `32`)_.
All topology read calls _(`Get`, `GetVersion`, `List` and `ListDir`)_ now respect this per-cell limit. Previous to this version a single limit was applied to all cell calls and it was not respected by many topology calls.
---
### <a id="minor-changes-vttablet"/>VTTablet</a>
#### <a id="flags-vttablet"/>CLI Flags</a>
- `twopc_abandon_age` flag now supports values in the time.Duration format (e.g., 1s, 2m, 1h).
While the flag will continue to accept float values (interpreted as seconds) for backward compatibility,
**float inputs are deprecated** and will be removed in a future release.
- `--consolidator-query-waiter-cap` flag to set the maximum number of clients allowed to wait on the consolidator. The default value is set to 0 for unlimited wait. Users can adjust this value based on the performance of VTTablet to avoid excessive memory usage and the risk of being OOMKilled, particularly in Kubernetes deployments.
#### <a id="reloading-vttablet-acl"/>ACL enforcement and reloading</a>
When a tablet is started with `--enforce-tableacl-config` it will exit with an error if the contents of the file are not valid. After the changes made in [#17485](https://github.com/vitessio/vitess/pull/17485) the tablet will no longer exit when reloading the contents of the file after receiving a SIGHUP. When the file contents are invalid on reload the tablet will now log an error and the active in-memory ACLs remain in effect.
---
### <a id="vtadmin"/>VTAdmin
#### <a id="updated-node"/>vtadmin-web updated to node v22.13.1 (LTS)
Building `vtadmin-web` now requires node >= v22.13.0 (LTS). Breaking changes from v20 to v22 can be found at https://nodejs.org/en/blog/release/v22.13.0 -- with no known issues that apply to VTAdmin.
Full details on the node v20.12.2 release can be found at https://nodejs.org/en/blog/release/v22.13.1.
------------
The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/22.0/22.0.0/changelog.md).
The release includes 475 merged Pull Requests.
Thanks to all our contributors: @GrahamCampbell, @GuptaManan100, @L3o-pold, @akagami-harsh, @anirbanmu, @app/dependabot, @app/vitess-bot, @arthmis, @arthurschreiber, @beingnoble03, @c-r-dev, @corbantek, @dbussink, @deepthi, @derekperkins, @ejortegau, @frouioui, @garfthoffman, @gmpify, @gopoto, @harshit-gangal, @huochexizhan, @jeefy, @jwangace, @kbutz, @lmorduch, @mattlord, @mattrobenolt, @maxenglander, @mcrauwel, @mounicasruthi, @niladrix719, @notfelineit, @rafer, @rohit-nayak-ps, @rvrangel, @shailpujan88, @shanth96, @shlomi-noach, @siadat, @systay, @timvaillancourt, @twthorn, @vitess-bot, @vmg, @wiebeytec, @wukuai

View File

@ -27,9 +27,11 @@
- [LAST_INSERT_ID(x)](#last-insert-id)
- [Maximum Idle Connections in the Pool](#max-idle-connections)
- [Filtering Query logs on Error](#query-logs)
- [MultiQuery RPC in vtgate](#multiquery)
- [Unsharded `CREATE PROCEDURE` support](#create-procedure)
- **[Optimization](#optimization)**
- [Prepared Statement](#prepared-statement)
- **[RPC Changes](#rpc-changes)**
- **[New VtctldServer RPC](#rpc-changes)**
- **[Prefer not promoting a replica that is currently taking a backup](#reparents-prefer-not-backing-up)**
- **[Semi-sync monitor in vttablet](#semi-sync-monitor)**
- **[Wrapped fatal transaction errors](#new-errors-fatal-tx)**
@ -60,7 +62,7 @@
| Component | Flag Name | Notes | Deprecation PR |
|:----------:|:--------------------------------:|----------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------:|
| `vttablet` | `twopc_enable` | Usage of TwoPC commit will be determined by the `transaction_mode` set on VTGate via flag or session variable. | [#17279](https://github.com/vitessio/vitess/pull/17279) |
| `vtgate` | `grpc-send-session-in-streaming` | Session will be sent as part of response on StreamExecute API call. | [#17907](https://github.com/vitessio/vitess/pull/17907) |
| `vtgate` | `grpc-send-session-in-streaming` | Session will always be sent as part of the response from the StreamExecute RPC. | [#17907](https://github.com/vitessio/vitess/pull/17907) |
---
@ -68,7 +70,7 @@
#### <a id="deleted-metrics"/>Metrics</a>
| Component | Metric Name | Was Deprecated In | Deprecation PR |
| Component | Metric Name | Was Deprecated In | Deletion PR |
|:----------:|:---------------------:|:-----------------:|:-------------------------------------------------------:|
| `vttablet` | `QueryCacheLength` | `v21.0.0` | [#16289](https://github.com/vitessio/vitess/pull/16289) |
| `vttablet` | `QueryCacheSize` | `v21.0.0` | [#16289](https://github.com/vitessio/vitess/pull/16289) |
@ -79,7 +81,7 @@
#### <a id="deleted-cli-flags"/>CLI Flags</a>
| Component | Flag Name | Was Deprecated In | Deprecation PR |
| Component | Flag Name | Was Deprecated In | Deletion PR |
|:-----------------------------:|:----------------------------------:|:-----------------:|:-------------------------------------------------------:|
| `vttablet` | `queryserver-enable-settings-pool` | `v21.0.0` | [#16280](https://github.com/vitessio/vitess/pull/16280) |
| `vttablet` | `remove-sharded-auto-increment` | `v21.0.0` | [#16860](https://github.com/vitessio/vitess/pull/16860) |
@ -95,7 +97,7 @@ These `vttablet` flags have been removed:
- `--gh-ost-path`
- `--pt-osc-path`
The use of `gh-ost` and `pt-osc` as strategies as follows, yields an error:
Attempting to use `gh-ost` or `pt-osc` as `--ddl-strategy` will yield an error:
```sh
$ vtctldclient ApplySchema --ddl-strategy="gh-ost" ...
$ vtctldclient ApplySchema --ddl-strategy="pt-osc" ...
@ -111,15 +113,15 @@ $ vtctldclient ApplySchema --ddl-strategy="pt-osc" ...
|:-------------------------:|:-------------------------------------:|:-----------------------------------------------------------:|:-------------------------------------------------------:|
| `QueryExecutions` | `Query`, `Plan`, `Tablet` | Number of queries executed. | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `QueryRoutes` | `Query`, `Plan`, `Tablet` | Number of vttablets the query was executed on. | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `QueryExecutionsByTable` | `Query`, `Table` | Queries executed at vtgate, with counts recorded per table. | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `VStreamsCount` | `Keyspace`, `ShardName`, `TabletType` | Number of active vstream. | [#17858](https://github.com/vitessio/vitess/pull/17858) |
| `QueryExecutionsByTable` | `Query`, `Table` | Queries executed by vtgate, with counts recorded per table. | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `VStreamsCount` | `Keyspace`, `ShardName`, `TabletType` | Number of active vstreams. | [#17858](https://github.com/vitessio/vitess/pull/17858) |
| `VStreamsEventsStreamed` | `Keyspace`, `ShardName`, `TabletType` | Number of events sent across all vstreams. | [#17858](https://github.com/vitessio/vitess/pull/17858) |
| `VStreamsEndedWithErrors` | `Keyspace`, `ShardName`, `TabletType` | Number of vstreams that ended with errors. | [#17858](https://github.com/vitessio/vitess/pull/17858) |
| `CommitModeTimings` | `Mode` | Timing metrics for commit (Single, Multi, TwoPC). | [#16939](https://github.com/vitessio/vitess/pull/16939) |
| `CommitUnresolved` | N/A | Counter for failure after Prepare. | [#16939](https://github.com/vitessio/vitess/pull/16939) |
| `CommitUnresolved` | N/A | Counter for 2PC transaction failures after Prepare. | [#16939](https://github.com/vitessio/vitess/pull/16939) |
The work done [#17727](https://github.com/vitessio/vitess/pull/17727) introduces new metrics for queries. Via this work we have deprecated several vtgate metrics, please see the [Deprecated Metrics](#deprecated-metrics) section. Here is an example on how to use them:
The work done in [#17727](https://github.com/vitessio/vitess/pull/17727) introduces new metrics for queries. Via this work we have deprecated several vtgate metrics, please see the [Deprecated Metrics](#deprecated-metrics) section. Here is an example of how the new metrics are calculated:
```
Query: select t1.a, t2.b from t1 join t2 on t1.id = t2.id
Shards: 2
@ -131,8 +133,6 @@ Metrics Published:
3. QueryExecutionsByTable {select, t1}, 1 and {select, t2}, 1
```
---
#### <a id="new-vttablet-metrics"/>VTTablet
| Name | Dimensions | Description | PR |
@ -141,9 +141,9 @@ Metrics Published:
| `TableClusteredIndexSize` | `Table` | Byte size of the clustered index (i.e. row data). | [#17570](https://github.com/vitessio/vitess/pull/17570) |
| `IndexCardinality` | `Table`, `Index` | Estimated number of unique values in the index | [#17570](https://github.com/vitessio/vitess/pull/17570) |
| `IndexBytes` | `Table`, `Index` | Byte size of the index. | [#17570](https://github.com/vitessio/vitess/pull/17570) |
| `UnresolvedTransaction` | `ManagerType` | Number of events sent across all vstreams. | [#16939](https://github.com/vitessio/vitess/pull/16939) |
| `CommitPreparedFail` | `FailureType` | Number of vstreams that ended with errors. | [#16939](https://github.com/vitessio/vitess/pull/16939) |
| `RedoPreparedFail` | `FailureType` | Timing metrics for commit (Single, Multi, TwoPC) | [#16939](https://github.com/vitessio/vitess/pull/16939) |
| `UnresolvedTransaction` | `ManagerType` | Current number of unresolved transactions. | [#16939](https://github.com/vitessio/vitess/pull/16939) |
| `CommitPreparedFail` | `FailureType` | Transactions that failed to commit after prepare. | [#16939](https://github.com/vitessio/vitess/pull/16939) |
| `RedoPreparedFail` | `FailureType` | Transactions that failed to re-prepare. | [#16939](https://github.com/vitessio/vitess/pull/16939) |
---
@ -151,7 +151,7 @@ Metrics Published:
#### <a id="vtorc-config-file-changes"/>VTOrc</a>
The configuration file for VTOrc has been updated to now support dynamic fields. The old `--config` parameter has been removed. The alternative is to use the `--config-file` parameter. The configuration can now be provided in json, yaml or any other format that [viper](https://github.com/spf13/viper) supports.
VTOrc now supports dynamic configuration using [viper](https://github.com/spf13/viper). The old `--config` parameter has been removed. Use the `--config-file` parameter instead. Configuration can be provided in json, yaml or any other format that viper supports.
The following fields can be dynamically changed -
1. `instance-poll-time`
@ -168,9 +168,7 @@ The following fields can be dynamically changed -
12. `allow-emergency-reparent`
13. `change-tablets-with-errant-gtid-to-drained`
To upgrade to the newer version of the configuration file, first switch to using the flags in your current deployment before upgrading. Then you can switch to using the configuration file in the newer release.
---
To upgrade to the new version of the configuration file, first switch to using the flags in your current deployment before upgrading. Then you can switch to using the configuration file after upgrade.
#### <a id="vtgate-config-file-changes"/>VTGate</a>
@ -183,7 +181,7 @@ The Viper configuration keys for the following flags has been changed to match t
| `discovery_min_number_serving_vttablets` | `discovery.min_number_serving_vttablets` | `discovery_min_number_serving_vttablets` |
| `discovery_legacy_replication_lag_algorithm` | `discovery.legacy_replication_lag_algorithm` | `discovery_legacy_replication_lag_algorithm` |
To upgrade to the newer version of the configuration keys, first switch to using the flags in your current deployment before upgrading. Then you can switch to using the new configuration keys in the newer release.
To upgrade to the newer version of the configuration keys, first switch to using the flags in your current deployment before upgrading. Then you can switch to using the new configuration keys after upgrade.
---
@ -192,15 +190,13 @@ To upgrade to the newer version of the configuration keys, first switch to using
#### <a id="stall-disk-recovery-vtorc"/>Stalled Disk Recovery</a>
VTOrc can now identify and recover from stalled disk errors.
VTTablets test whether the disk is writable and they send this information in the full status output to VTOrc.
VTTablets test whether the disk is writable and they send this information in the `FullStatus` RPC response to VTOrc.
If the disk is not writable on the primary tablet, VTOrc will attempt to recover the cluster by promoting a new primary.
This is useful in scenarios where the disk is stalled and the primary vttablet is unable to accept writes because of it.
To opt into this feature, `--enable-primary-disk-stalled-recovery` flag has to be specified on VTOrc, and `--disk-write-dir` flag has to be specified on the vttablets.
`--disk-write-interval` and `--disk-write-timeout` flags can be used to configure the polling interval and timeout respectively.
---
#### <a id="key-range-vtorc"/>KeyRanges in `--clusters_to_watch`</a>
VTOrc now supports specifying keyranges in the `--clusters_to_watch` flag. This means that there is no need to restart a VTOrc instance with a different flag value when you reshard a keyspace.
@ -217,13 +213,13 @@ Users can continue to specify exact keyranges. The new feature is backward compa
#### <a id="mysql-8-0-40"/>MySQL 8.0.40</a>
The default major MySQL version used by our `vitess/lite:latest` image is going from `8.0.30` to `8.0.40`.
This change was brought by [#17552](https://github.com/vitessio/vitess/pull/17552).
This change was merged in [#17552](https://github.com/vitessio/vitess/pull/17552).
VTGate also advertises MySQL version `8.0.40` by default instead of `8.0.30` if no explicit version is set. The users can set the `mysql_server_version` flag to advertise the correct version.
VTGate also advertises MySQL version `8.0.40` by default instead of `8.0.30`. If that is not what you are running, you can set the `mysql_server_version` flag to advertise the desired version.
> ⚠️ Upgrading to this release with vitess-operator:
>
> If you are using the `vitess-operator`, considering that we are bumping the patch version of MySQL 80 from `8.0.30` to `8.0.40`, you will have to manually upgrade:
> If you are using the `vitess-operator`, considering that we are bumping the MySQL version from `8.0.30` to `8.0.40`, you will have to manually upgrade:
>
> 1. Add `innodb_fast_shutdown=0` to your extra cnf in your YAML file.
> 2. Apply this file.
@ -234,11 +230,9 @@ VTGate also advertises MySQL version `8.0.40` by default instead of `8.0.30` if
>
> This is the last time this will be needed in the `8.0.x` series, as starting with MySQL `8.0.35` it is possible to upgrade and downgrade between `8.0.x` versions without needing to run `innodb_fast_shutdown=0`.
---
#### <a id="debian-bookworm"/>Docker `vitess/lite` images with Debian Bookworm</a>
The base system now uses Debian Bookworm instead of Debian Bullseye for the `vitess/lite` images. This change was brought by [#17552](https://github.com/vitessio/vitess/pull/17552).
The docker build system now uses Debian Bookworm instead of Debian Bullseye for the `vitess/lite` images. This change was merged in [#17552](https://github.com/vitessio/vitess/pull/17552).
---
@ -250,8 +244,6 @@ In [#7345](https://github.com/vitessio/vitess/pull/17345) we added support for [
If you are using MySQL 8.0 or later and using JSON columns, you can now enable this MySQL feature across your Vitess cluster(s) to lower the disk space needed for binary logs and improve the CPU and memory usage in both `mysqld` (standard intrashard MySQL replication) and `vttablet` ([VReplication](https://vitess.io/docs/reference/vreplication/vreplication/)) without losing any capabilities or features.
---
#### <a id="last-insert-id"/>`LAST_INSERT_ID(x)`</a>
In [#17408](https://github.com/vitessio/vitess/pull/17408) and [#17409](https://github.com/vitessio/vitess/pull/17409), we added the ability to use `LAST_INSERT_ID(x)` in Vitess directly at vtgate. This improvement allows certain queries—like `SELECT last_insert_id(123);` or `SELECT last_insert_id(count(*)) ...`—to be handled without relying on MySQL for the final value.
@ -259,8 +251,6 @@ In [#17408](https://github.com/vitessio/vitess/pull/17408) and [#17409](https://
**Limitations**:
- When using `LAST_INSERT_ID(x)` in ordered queries (e.g., `SELECT last_insert_id(col) FROM table ORDER BY foo`), MySQL sets the sessions last-insert-id value according to the *last row returned*. Vitess does not guarantee the same behavior.
---
#### <a id="max-idle-connections"/>Maximum Idle Connections in the Pool</a>
In [#17443](https://github.com/vitessio/vitess/pull/17443) we introduced a new configurable max-idle-count parameter for connection pools. This allows you to specify the maximum number of idle connections retained in each connection pool to optimize performance and resource efficiency.
@ -272,14 +262,26 @@ You can control idle connection retention for the query servers query pool, s
This feature ensures that, during traffic spikes, idle connections are available for faster responses, while minimizing overhead in low-traffic periods by limiting the number of idle connections retained. It helps strike a balance between performance, efficiency, and cost.
---
#### <a id="query-logs"/>Filtering Query logs on Error</a>
The `querylog-mode` setting can be configured to `error` to log only queries that result in errors. This option is supported in both VTGate and VTTablet.
---
#### <a id="multiquery"/>MultiQuery RPC in vtgate</a>
New RPCs have been added to VTGate that allow users to pass multiple queries in a single sql string. The behavior is the same as that of MySQL: the RPCs will return multiple result sets in the same order as the queries until and unless an error is encountered. The new RPCs are `ExecuteMulti` and `StreamExecuteMulti`.
A new flag `--mysql-server-multi-query-protocol` has also been added that makes the server use this new implementation. This flag is set to `false` by default, so the old implementation is used by default. The new implementation is more efficient and allows for better performance when executing multiple queries in a single RPC call.
---
#### <a id="create-procedure"/>Unsharded `CREATE PROCEDURE` support</a>
Until now Vitess didn't allow users to create procedures through VTGate. They had to be created by running a DDL directly against the underlying MySQL. In this release, we have started adding support for running `CREATE PROCEDURE` statements through VTGate for unsharded keyspaces. Not all constructs of procedures are currently supported in the parser, so there are still some limitations which will be addressed in future releases.
---
### <a id="optimization"/>Optimization</a>
#### <a id="prepared-statement"/>Prepared Statement</a>
@ -287,22 +289,22 @@ Prepared statements now benefit from Deferred Optimization, enabling parameter-a
Initially, a baseline plan is created at prepare-time, and on first execution, a more efficient parameter-optimized plan is generated.
Subsequent executions dynamically switch between these plans based on input values, improving query performance while ensuring correctness.
### <a id="rpc-changes"/>RPC Changes</a>
---
These are the RPC changes made in this release -
### <a id="rpc-changes"/>New VtctldServer RPC</a>
1. `GetTransactionInfo` RPC has been added to both `VtctldServer`, and `TabletManagerClient` interface. These RPCs are used to facilitate the users in reading the state of an unresolved distributed transaction. This can be useful in debugging what went wrong and how to fix the problem.
`GetTransactionInfo` RPC has been added to `VtctldServer` and `TabletManagerClient` interfaces. These RPCs can be used to read the state of an unresolved distributed transaction. This can be useful in debugging what went wrong and how to fix the problem.
---
### <a id="reparents-prefer-not-backing-up"/>Prefer not promoting a replica that is currently taking a backup
Emergency reparents now prefer not promoting replicas that are currently taking backups with a backup engine other than
Emergency reparents now prefer to not promote replicas that are currently taking backups with a backup engine other than
`builtin`. Note that if there's only one suitable replica to promote, and it is taking a backup, it will still be
promoted.
For planned reparents, hosts taking backups with a backup engine other than `builtin` are filtered out of the list of
valid candidates. This means they will never get promoted - not even if there's no other candidates.
valid candidates. This means they will never get promoted - not even if there are no other candidates.
Note that behavior for `builtin` backups remains unchanged: a replica that is currently taking a `builtin` backup will
never be promoted, neither by planned nor by emergency reparents.
@ -311,12 +313,12 @@ never be promoted, neither by planned nor by emergency reparents.
### <a id="semi-sync-monitor"/>Semi-sync monitor in vttablet</a>
A new component has been added to the vttablet binary to monitor the semi-sync status of primary vttablets.
Primary VTTablets now monitor the semi-sync status of their underlying MySQL instance .
We've observed cases where a brief network disruption can cause the primary to get stuck indefinitely waiting for semi-sync ACKs.
In rare scenarios, this can block reparent operations and render the primary unresponsive.
In rare scenarios, this can also block reparent operations and render the primary unresponsive.
More information can be found in the issues [#17709](https://github.com/vitessio/vitess/issues/17709) and [#17749](https://github.com/vitessio/vitess/issues/17749).
To address this, the new component continuously monitors the semi-sync status. If the primary becomes stuck on semi-sync ACKs, it generates writes to unblock it. If this fails, VTOrc is notified of the issue and initiates an emergency reparent operation.
To address this, the primary VTTablets continuously monitor their semi-sync status. If the primary MySQL gets stuck waiting for semi-sync ACKs, the monitor generates synthetic writes to unblock it. If this fails, VTOrc is notified of the issue and it will initiate an emergency reparent operation.
The monitoring interval can be adjusted using the `--semi-sync-monitor-interval` flag, which defaults to 10 seconds.
@ -324,10 +326,9 @@ The monitoring interval can be adjusted using the `--semi-sync-monitor-interval`
### <a id="new-errors-fatal-tx"/>Wrapped fatal transaction errors</a>
When a query fails while running in a transaction, due to the transaction no longer being valid (e.g. PRS, rollout, primary down, etc.), the original error is now wrapped in a `VT15001` error.
When a query fails while being in a transaction, due to the transaction no longer being valid (e.g. PRS, rollout, primary down, etc), the original error is now wrapped around a `VT15001` error.
For non-transactional queries that produce a `VT15001`, VTGate will try to rollback and clear the transaction.
When a query produce a `VT15001` error, VTGate will try to rollback and clear the transaction.
Any new queries on the same connection will fail with a `VT09032` error, until a `ROLLBACK` is received
to acknowledge that the transaction was automatically rolled back and cleared by VTGate.
@ -358,8 +359,6 @@ While the flag will continue to accept float values (interpreted as seconds) for
- `--consolidator-query-waiter-cap` flag to set the maximum number of clients allowed to wait on the consolidator. The default value is set to 0 for unlimited wait. Users can adjust this value based on the performance of VTTablet to avoid excessive memory usage and the risk of being OOMKilled, particularly in Kubernetes deployments.
---
#### <a id="reloading-vttablet-acl"/>ACL enforcement and reloading</a>
When a tablet is started with `--enforce-tableacl-config` it will exit with an error if the contents of the file are not valid. After the changes made in [#17485](https://github.com/vitessio/vitess/pull/17485) the tablet will no longer exit when reloading the contents of the file after receiving a SIGHUP. When the file contents are invalid on reload the tablet will now log an error and the active in-memory ACLs remain in effect.

View File

@ -0,0 +1,38 @@
# Changelog of Vitess v22.0.1
### Bug fixes
#### Backup and Restore
* [release-22.0] fix version issue when using --mysql-shell-speedup-restore=true (#18310) [#18356](https://github.com/vitessio/vitess/pull/18356)
#### Evalengine
* [release-22.0] fix: Preserve multi-column TupleExpr in tuple simplifier (#18216) [#18220](https://github.com/vitessio/vitess/pull/18220)
* [release-22.0] Fix evalengine crashes on unexpected types (#18254) [#18258](https://github.com/vitessio/vitess/pull/18258)
#### Query Serving
* [release-22.0] make sure to give MEMBER OF the correct precedence (#18237) [#18245](https://github.com/vitessio/vitess/pull/18245)
* [release-22.0] Fix subquery merging regression introduced in #11379 (#18260) [#18263](https://github.com/vitessio/vitess/pull/18263)
* [release-22.0] Fix `SET` and `START TRANSACTION` in create procedure statements (#18279) [#18293](https://github.com/vitessio/vitess/pull/18293)
* [release-22.0] fix: keep LIMIT/OFFSET even when merging UNION queries (#18361) [#18363](https://github.com/vitessio/vitess/pull/18363)
#### Throttler
* [release-22.0] Throttler: keep watching topo even on error (#18223) [#18322](https://github.com/vitessio/vitess/pull/18322)
#### VReplication
* [release-22.0] Atomic Copy: Handle error that was ignored while streaming tables and log it (#18313) [#18316](https://github.com/vitessio/vitess/pull/18316)
#### VTTablet
* [release-22.0] Fix deadlock in semi-sync monitor (#18276) [#18290](https://github.com/vitessio/vitess/pull/18290)
* [release-22.0] Fix: Deadlock in `Close` and `write` in semi-sync monitor. (#18359) [#18368](https://github.com/vitessio/vitess/pull/18368)
### CI/Build
#### General
* [release-22.0] Upgrade the Golang version to `go1.24.3` [#18239](https://github.com/vitessio/vitess/pull/18239)
* [release-22.0] Upgrade the Golang version to `go1.24.4` [#18329](https://github.com/vitessio/vitess/pull/18329)
#### VReplication
* [release-22.0] Split workflow with flaky vdiff2 e2e test. Skip flaky Migrate test. (#18300) [#18334](https://github.com/vitessio/vitess/pull/18334)
### Regression
#### Query Serving
* [release-22.0] fix: handle dml query for None opcode (#18326) [#18345](https://github.com/vitessio/vitess/pull/18345)
### Release
#### General
* [release-22.0] Bump to `v22.0.1-SNAPSHOT` after the `v22.0.0` release [#18225](https://github.com/vitessio/vitess/pull/18225)
* [release-22.0] Code Freeze for `v22.0.1` [#18374](https://github.com/vitessio/vitess/pull/18374)
### Testing
#### Query Serving
* [release-22.0] test: TestQueryTimeoutWithShardTargeting fix flaky test (#18242) [#18250](https://github.com/vitessio/vitess/pull/18250)
* [release-22.0] json array insert test (#18284) [#18286](https://github.com/vitessio/vitess/pull/18286)

View File

@ -0,0 +1,7 @@
# Release of Vitess v22.0.1
The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/changelog/22.0/22.0.1/changelog.md).
The release includes 19 merged Pull Requests.
Thanks to all our contributors: @GuptaManan100, @app/vitess-bot, @vitess-bot

View File

@ -1,2 +1,8 @@
## v22.0
* **[22.0.1](22.0.1)**
* [Changelog](22.0.1/changelog.md)
* [Release Notes](22.0.1/release_notes.md)
* **[22.0.0](22.0.0)**
* [Changelog](22.0.0/changelog.md)
* [Release Notes](22.0.0/release_notes.md)

View File

@ -0,0 +1,73 @@
## Summary
### Table of Contents
- **[Minor Changes](#minor-changes)**
- **[Deletions](#deletions)**
- [Metrics](#deleted-metrics)
- **[New Metrics](#new-metrics)**
- [VTGate](#new-vtgate-metrics)
- **[Topology](#minor-changes-topo)**
- [`--consul_auth_static_file` requires 1 or more credentials](#consul_auth_static_file-check-creds)
- **[VTOrc](#minor-changes-vtorc)**
- [Recovery stats to include keyspace/shard](#recoveries-stats-keyspace-shard)
- **[VTTablet](#minor-changes-vttablet)**
- [CLI Flags](#flags-vttablet)
- [Managed MySQL configuration defaults to caching-sha2-password](#mysql-caching-sha2-password)
## <a id="minor-changes"/>Minor Changes</a>
### <a id="deletions"/>Deletions</a>
#### <a id="deleted-metrics"/>Metrics</a>
| Component | Metric Name | Was Deprecated In | Deprecation PR |
|:---------:|:-------------------------:|:-----------------:|:-------------------------------------------------------:|
| `vtgate` | `QueriesProcessed` | `v22.0.0` | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `vtgate` | `QueriesRouted` | `v22.0.0` | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `vtgate` | `QueriesProcessedByTable` | `v22.0.0` | [#17727](https://github.com/vitessio/vitess/pull/17727) |
| `vtgate` | `QueriesRoutedByTable` | `v22.0.0` | [#17727](https://github.com/vitessio/vitess/pull/17727) |
### <a id="new-metrics"/>New Metrics
#### <a id="new-vtgate-metrics"/>VTGate
| Name | Dimensions | Description | PR |
|:-----------------------:|:---------------:|:-----------------------------------------------------------------------------------:|:-------------------------------------------------------:|
| `TransactionsProcessed` | `Shard`, `Type` | Counts transactions processed at VTGate by shard distribution and transaction type. | [#18171](https://github.com/vitessio/vitess/pull/18171) |
### <a id="minor-changes-topo"/>Topology</a>
#### <a id="consul_auth_static_file-check-creds"/>`--consul_auth_static_file` requires 1 or more credentials</a>
The `--consul_auth_static_file` flag used in several components now requires that 1 or more credentials can be loaded from the provided json file.
### <a id="minor-changes-vtorc"/>VTOrc</a>
#### <a id="recoveries-stats-keyspace-shard">Recovery stats to include keyspace/shard</a>
The following recovery-related stats now include labels for keyspaces and shards:
1. `FailedRecoveries`
2. `PendingRecoveries`
3. `RecoveriesCount`
4. `SuccessfulRecoveries`
Previous to this release, only the recovery "type" was included in labels.
### <a id="minor-changes-vttablet"/>VTTablet</a>
#### <a id="flags-vttablet"/>CLI Flags</a>
- `skip-user-metrics` flag if enabled, replaces the username label with "UserLabelDisabled" to prevent metric explosion in environments with many unique users.
#### <a id="mysql-caching-sha2-password"/>Managed MySQL configuration defaults to caching-sha2-password</a>
The default authentication plugin for MySQL 8.0.26 and later is now `caching_sha2_password` instead of `mysql_native_password`. This change is made because `mysql_native_password` is deprecated and removed in future MySQL versions. `mysql_native_password` is still enabled for backwards compatibility.
This change specifically affects the replication user. If you have a user configured with an explicit password, it is recommended to make sure to upgrade this user after upgrading to v23 with a statement like the following:
```sql
ALTER USER 'vt_repl'@'%' IDENTIFIED WITH caching_sha2_password BY 'your-existing-password';
```
In future Vitess versions, the `mysql_native_password` authentication plugin will be disabled for managed MySQL instances.

2
changelog/23.0/README.md Normal file
View File

@ -0,0 +1,2 @@
## v23.0
* **[23.0.0](23.0.0)**

View File

@ -1,4 +1,5 @@
## Releases
* [23.0](23.0)
* [22.0](22.0)
* [21.0](21.0)
* [20.0](20.0)

View File

@ -22,3 +22,6 @@ var MycnfMySQL8026 string
//go:embed mycnf/mysql84.cnf
var MycnfMySQL84 string
//go:embed mycnf/mysql90.cnf
var MycnfMySQL90 string

View File

@ -16,9 +16,6 @@ binlog_expire_logs_seconds = 259200
# disable mysqlx
mysqlx = 0
# 8.0 changes the default auth-plugin to caching_sha2_password
default_authentication_plugin = mysql_native_password
# Semi-sync replication is required for automated unplanned failover
# (when the primary goes away). Here we just load the plugin so it's
# available if desired, but it's disabled at startup.

View File

@ -16,10 +16,9 @@ binlog_expire_logs_seconds = 259200
# disable mysqlx
mysqlx = 0
# 8.4 changes the default auth-plugin to caching_sha2_password and
# disables mysql_native_password by default.
# 8.4 disables mysql_native_password by default, but we keep it
# enabled for compatibility while upgrading Vitess and / or MySQL.
mysql_native_password = ON
authentication_policy = 'mysql_native_password'
# Semi-sync replication is required for automated unplanned failover
# (when the primary goes away). Here we just load the plugin so it's

39
config/mycnf/mysql90.cnf Normal file
View File

@ -0,0 +1,39 @@
# This file is auto-included when MySQL 9.0 or later is detected.
# all db instances should skip starting replication threads - that way we can do any
# additional configuration (like enabling semi-sync) before we connect to
# the source.
skip_replica_start
# MySQL 8.0 enables binlog by default with sync_binlog and TABLE info repositories
# It does not enable GTIDs or enforced GTID consistency
gtid_mode = ON
enforce_gtid_consistency
relay_log_recovery = 1
binlog_expire_logs_seconds = 259200
# disable mysqlx
mysqlx = 0
# Semi-sync replication is required for automated unplanned failover
# (when the primary goes away). Here we just load the plugin so it's
# available if desired, but it's disabled at startup.
#
# VTTablet will enable semi-sync at the proper time when replication is set up,
# or when a primary is promoted or demoted based on the durability policy configured.
plugin-load = rpl_semi_sync_source=semisync_source.so;rpl_semi_sync_replica=semisync_replica.so
# MySQL 8.0.26 and later will not load plugins during --initialize
# which makes these options unknown. Prefixing with --loose
# tells the server it's fine if they are not understood.
loose_rpl_semi_sync_source_timeout = 1000000000000000000
loose_rpl_semi_sync_source_wait_no_replica = 1
# In order to protect against any errand GTIDs we will start the mysql instance
# in super-read-only mode.
super-read-only
# Replication parameters to ensure reparents are fast.
replica_net_timeout = 8

View File

@ -1,34 +1,34 @@
tabletID: zone-1234
init:
dbName: # init_db_name_override
keyspace: # init_keyspace
shard: # init_shard
tabletType: # init_tablet_type
timeoutSeconds: 60 # init_timeout
dbName: # init-db-name-override
keyspace: # init-keyspace
shard: # init-shard
tabletType: # init-tablet-type
timeoutSeconds: 60 # init-timeout
db:
socket: # db_socket
host: # db_host
port: 0 # db_port
charSet: # db_charset
flags: 0 # db_flags
flavor: # db_flavor
sslCa: # db_ssl_ca
sslCaPath: # db_ssl_ca_path
sslCert: # db_ssl_cert
sslKey: # db_ssl_key
serverName: # db_server_name
connectTimeoutMilliseconds: 0 # db_connect_timeout_ms
socket: # db-socket
host: # db-host
port: 0 # db-port
charSet: # db-charset
flags: 0 # db-flags
flavor: # db-flavor
sslCa: # db-ssl-ca
sslCaPath: # db-ssl-ca-path
sslCert: # db-ssl-cert
sslKey: # db-ssl-key
serverName: # db-server-name
connectTimeoutMilliseconds: 0 # db-connect-timeout-ms
app:
user: vt_app # db_app_user
password: # db_app_password
useSsl: true # db_app_use_ssl
preferTcp: false
dba:
user: vt_dba # db_dba_user
password: # db_dba_password
useSsl: true # db_dba_use_ssl
user: vt_dba # db-dba-user
password: # db-dba-password
useSsl: true # db-dba-use-ssl
preferTcp: false
filtered:
user: vt_filtered # db_filtered_user
@ -77,8 +77,8 @@ oltp:
warnRows: 0 # queryserver-config-warn-result-size
healthcheck:
intervalSeconds: 20 # health_check_interval
degradedThresholdSeconds: 30 # degraded_threshold
intervalSeconds: 20 # health-check-interval
degradedThresholdSeconds: 30 # degraded-threshold
unhealthyThresholdSeconds: 7200 # unhealthy_threshold
gracePeriods:
@ -86,28 +86,28 @@ gracePeriods:
transitionSeconds: 0 # serving_state_grace_period
replicationTracker:
mode: disable # enable_replication_reporter
heartbeatIntervalMilliseconds: 0 # heartbeat_enable, heartbeat_interval
mode: disable # enable-replication-reporter
heartbeatIntervalMilliseconds: 0 # heartbeat-enable, heartbeat-interval
hotRowProtection:
mode: disable|dryRun|enable # enable_hot_row_protection, enable_hot_row_protection_dry_run
mode: disable|dryRun|enable # enable-hot-row-protection, enable-hot-row-protection-dry-run
# Recommended value: same as txPool.size.
maxQueueSize: 20 # hot_row_protection_max_queue_size
maxGlobalQueueSize: 1000 # hot_row_protection_max_global_queue_size
maxConcurrency: 5 # hot_row_protection_concurrent_transactions
maxQueueSize: 20 # hot-row-protection-max-queue-size
maxGlobalQueueSize: 1000 # hot-row-protection-max-global-queue-size
maxConcurrency: 5 # hot-row-protection-concurrent-transactions
consolidator: enable|disable|notOnPrimary # enable-consolidator, enable-consolidator-replicas
passthroughDML: false # queryserver-config-passthrough-dmls
streamBufferSize: 32768 # queryserver-config-stream-buffer-size
schemaReloadIntervalSeconds: 1800 # queryserver-config-schema-reload-time
watchReplication: false # watch_replication_stream
watchReplication: false # watch-replication-stream
terseErrors: false # queryserver-config-terse-errors
truncateErrorLen: 0 # queryserver-config-truncate-error-len
messagePostponeParallelism: 4 # queryserver-config-message-postpone-cap
# The following flags are currently not supported.
# enforce_strict_trans_tables
# enforce-strict-trans-tables
# queryserver-config-strict-table-acl
# queryserver-config-enable-table-acl-dry-run
# queryserver-config-acl-exempt-acl
@ -115,10 +115,10 @@ messagePostponeParallelism: 4 # queryserver-config-message-postpone-c
# tx-throttler-config
# tx-throttler-healthcheck-cells
# tx-throttler-tablet-types
# enable_transaction_limit
# enable_transaction_limit_dry_run
# transaction_limit_per_user
# transaction_limit_by_username
# transaction_limit_by_principal
# transaction_limit_by_component
# transaction_limit_by_subcomponent
# enable-transaction-limit
# enable-transaction-limit-dry-run
# transaction-limit-per-user
# transaction-limit-by-username
# transaction-limit-by-principal
# transaction-limit-by-component
# transaction-limit-by-subcomponent

View File

@ -15,7 +15,7 @@ The implementations of `LockShard` and `CheckShardLocked` differ slightly for al
### Etcd
In Etcd implementation, we use `KeepAlive` API to keep renewing the context that we have for acquiring the shard lock every 10 seconds. The duration of the lease is controlled by the `--topo_etcd_lease_ttl` flag which defaults to 10 seconds. Once we acquire the shard lock, the context for acquiring the shard lock expires and that stops the KeepAlives too.
In Etcd implementation, we use `KeepAlive` API to keep renewing the context that we have for acquiring the shard lock every 10 seconds. The duration of the lease is controlled by the `--topo-etcd-lease-ttl` flag which defaults to 10 seconds. Once we acquire the shard lock, the context for acquiring the shard lock expires and that stops the KeepAlives too.
The shard lock is released either when the unlock function is called, or if the lease ttl expires. This guards against servers crashing while holding the shard lock.
@ -30,6 +30,6 @@ The Check function doesn't do anything in ZooKeeper. The implementation just ret
### Consul
In Consul, the timeout for the lock is controlled by the `--topo_consul_lock_session_ttl` flag.
In Consul, the timeout for the lock is controlled by the `--topo-consul-lock-session-ttl` flag.
The Check function works properly and checks if the lock still exists.

View File

@ -170,4 +170,16 @@ List of changes between bootstrap image versions.
## [43] - 2025-03-04
### Changes
- Update build to golang 1.24.1
- Update build to golang 1.24.1
## [44] - 2025-04-02
### Changes
- Update build to golang 1.24.2
## [45] - 2025-05-07
### Changes
- Update build to golang 1.24.3
## [46] - 2025-06-06
### Changes
- Update build to golang 1.24.4

View File

@ -1,4 +1,4 @@
FROM --platform=linux/amd64 golang:1.24.1-bookworm
FROM --platform=linux/amd64 golang:1.24.4-bookworm
# Install Vitess build dependencies
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \

View File

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM --platform=linux/amd64 golang:1.24.1-bookworm AS builder
FROM --platform=linux/amd64 golang:1.24.4-bookworm AS builder
# Allows docker builds to set the BUILD_NUMBER
ARG BUILD_NUMBER

View File

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM --platform=linux/amd64 golang:1.24.1-bookworm AS builder
FROM --platform=linux/amd64 golang:1.24.4-bookworm AS builder
# Allows docker builds to set the BUILD_NUMBER
ARG BUILD_NUMBER

View File

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM --platform=linux/amd64 golang:1.24.1-bookworm AS builder
FROM --platform=linux/amd64 golang:1.24.4-bookworm AS builder
# Allows docker builds to set the BUILD_NUMBER
ARG BUILD_NUMBER

View File

@ -23,6 +23,7 @@ grpc_port=15999
echo "- Starting vtctld..."
# shellcheck disable=SC2086
#TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
vtctld \
$TOPOLOGY_FLAGS \
--disable_active_reparents \

View File

@ -39,6 +39,7 @@ echo "> Starting vttablet for server $mysql_host:$mysql_port"
echo " - Tablet alias is $alias"
echo " - Tablet listens on http://$hostname:$port"
# shellcheck disable=SC2086
#TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
vttablet \
$TOPOLOGY_FLAGS \
-log_dir $VTDATAROOT/tmp \

View File

@ -141,6 +141,10 @@ args="$args -v /tmp/mavencache:/home/vitess/.m2"
args="$args --user vitess"
args="$args -v $PWD/test/bin:/tmp/bin"
# Pass through TOPO environment variable if it's set
if [[ -n "$TOPO" ]]; then
args="$args -e TOPO=$TOPO"
fi
# Mount in host VTDATAROOT if one exists, since it might be a RAM disk or SSD.
if [[ -n "$VTDATAROOT" ]]; then
hostdir=`mktemp -d $VTDATAROOT/test-XXX`

View File

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM --platform=linux/amd64 golang:1.24.1-bookworm AS builder
FROM --platform=linux/amd64 golang:1.24.4-bookworm AS builder
# Allows docker builds to set the BUILD_NUMBER
ARG BUILD_NUMBER

View File

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM --platform=linux/amd64 golang:1.24.1-bookworm AS builder
FROM --platform=linux/amd64 golang:1.24.4-bookworm AS builder
# Allows docker builds to set the BUILD_NUMBER
ARG BUILD_NUMBER

View File

@ -36,7 +36,7 @@ rm -vf "$VTDATAROOT"/"$tablet_dir"/{mysql.sock,mysql.sock.lock}
--num_shards "$NUM_SHARDS" \
--mysql_bind_host "${MYSQL_BIND_HOST:-127.0.0.1}" \
--vtcombo-bind-host "${VTCOMBO_BIND_HOST:-127.0.0.1}" \
--mysql_server_version "${MYSQL_SERVER_VERSION:-$1}" \
--mysql-server-version "${MYSQL_SERVER_VERSION:-$1}" \
--charset "${CHARSET:-utf8mb4}" \
--foreign_key_mode "${FOREIGN_KEY_MODE:-allow}" \
--enable_online_ddl="${ENABLE_ONLINE_DDL:-true}" \

View File

@ -53,6 +53,7 @@ if [ "${TOPO}" = "zk2" ]; then
# Set topology environment parameters.
ZK_SERVER="localhost:21811,localhost:21812,localhost:21813"
# shellcheck disable=SC2034
#TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
TOPOLOGY_FLAGS="--topo_implementation zk2 --topo_global_server_address ${ZK_SERVER} --topo_global_root /vitess/global"
mkdir -p "${VTDATAROOT}/tmp"
@ -61,10 +62,12 @@ elif [ "${TOPO}" = "consul" ]; then
CONSUL_SERVER=127.0.0.1
CONSUL_HTTP_PORT=8500
CONSUL_SERVER_PORT=8300
#TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
TOPOLOGY_FLAGS="--topo_implementation consul --topo_global_server_address ${CONSUL_SERVER}:${CONSUL_HTTP_PORT} --topo_global_root vitess/global/"
mkdir -p "${VTDATAROOT}/consul"
else
ETCD_SERVER="localhost:2379"
#TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
TOPOLOGY_FLAGS="--topo_implementation etcd2 --topo_global_server_address $ETCD_SERVER --topo_global_root /vitess/global"
mkdir -p "${VTDATAROOT}/etcd"

View File

@ -24,5 +24,6 @@ uid=$TABLET_UID
printf -v alias '%s-%010d' $cell $uid
echo "Shutting down MySQL for tablet $alias..."
#TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
mysqlctl --tablet_uid $uid shutdown

View File

@ -35,6 +35,7 @@ if [ -d $VTDATAROOT/$tablet_dir ]; then
action='start'
fi
#TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
mysqlctl \
--log_dir $VTDATAROOT/tmp \
--tablet_uid $uid \

View File

@ -23,6 +23,7 @@ grpc_port=15999
echo "Starting vtctld..."
# shellcheck disable=SC2086
#TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
vtctld \
$TOPOLOGY_FLAGS \
--cell $cell \

View File

@ -26,6 +26,7 @@ mysql_server_socket_path="/tmp/mysql.sock"
echo "Starting vtgate..."
# shellcheck disable=SC2086
#TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
vtgate \
$TOPOLOGY_FLAGS \
--log_dir $VTDATAROOT/tmp \
@ -36,7 +37,7 @@ vtgate \
--mysql_server_socket_path $mysql_server_socket_path \
--cell $cell \
--cells_to_watch $cell \
--tablet_types_to_wait PRIMARY,REPLICA \
--tablet-types-to-wait PRIMARY,REPLICA \
--service_map 'grpc-vtgateservice' \
--pid_file $VTDATAROOT/tmp/vtgate.pid \
--enable_buffer \

View File

@ -18,6 +18,10 @@
source "$(dirname "${BASH_SOURCE[0]:-$0}")/../env.sh"
# Explicitly set VTROOT for this script, since it requires it.
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd)"
export VTROOT=${VTROOT:-$(cd "$SCRIPT_DIR/../../.." && pwd)}
# Stop ZooKeeper servers.
echo "Stopping zk servers..."
for zkid in $zkids; do

View File

@ -18,6 +18,10 @@
source "$(dirname "${BASH_SOURCE[0]:-$0}")/../env.sh"
# Explicitly set VTROOT for this script, since it requires it.
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd)"
export VTROOT=${VTROOT:-$(cd "$SCRIPT_DIR/../../.." && pwd)}
cell=${CELL:-'test'}
# Start ZooKeeper servers.
# The "zkctl init" command won't return until the server is able to contact its

View File

@ -1,4 +1,4 @@
TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500 --topo_global_root vitess/global
TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500 --topo-global-root vitess/global
GRPC_PORT=15999
WEB_PORT=8080
MYSQL_PORT=15306

View File

@ -63,14 +63,15 @@ services:
- "15000:$WEB_PORT"
- "$GRPC_PORT"
command: ["sh", "-c", " /vt/bin/vtctld \
# TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
$TOPOLOGY_FLAGS \
--cell $CELL \
--service_map 'grpc-vtctl,grpc-vtctld' \
--backup_storage_implementation file \
--service-map 'grpc-vtctl,grpc-vtctld' \
--backup-storage-implementation file \
--file_backup_storage_root /vt/vtdataroot/backups \
--logtostderr=true \
--port $WEB_PORT \
--grpc_port $GRPC_PORT
--grpc-port $GRPC_PORT
"]
depends_on:
consul1:
@ -89,16 +90,17 @@ services:
- "$GRPC_PORT"
- "15306:$MYSQL_PORT"
command: ["sh", "-c", "/vt/bin/vtgate \
# TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
$TOPOLOGY_FLAGS \
--logtostderr=true \
--port $WEB_PORT \
--grpc_port $GRPC_PORT \
--mysql_server_port $MYSQL_PORT \
--mysql_auth_server_impl none \
--grpc-port $GRPC_PORT \
--mysql-server-port $MYSQL_PORT \
--mysql-auth-server-impl none \
--cell $CELL \
--cells_to_watch $CELL \
--tablet_types_to_wait PRIMARY,REPLICA \
--service_map 'grpc-vtgateservice' \
--tablet-types-to-wait PRIMARY,REPLICA \
--service-map 'grpc-vtgateservice' \
--enable_system_settings=true \
"]
volumes:

View File

@ -63,8 +63,8 @@ services:
vttablet301:
condition: service_healthy
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -89,8 +89,8 @@ services:
vttablet201:
condition: service_healthy
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -126,8 +126,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- EXTERNAL_DB=0
image: vitess/lite:${VITESS_TAG:-latest}
volumes:
@ -136,10 +136,10 @@ services:
command:
- sh
- -c
- ' /vt/bin/vtctld --topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global --cell test
--service_map ''grpc-vtctl,grpc-vtctld'' --backup_storage_implementation file --file_backup_storage_root
/vt/vtdataroot/backups --logtostderr=true --port 8080 --grpc_port 15999 '
- ' /vt/bin/vtctld --topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global --cell test
--service-map ''grpc-vtctl,grpc-vtctld'' --backup-storage-implementation file --file_backup_storage_root
/vt/vtdataroot/backups --logtostderr=true --port 8080 --grpc-port 15999 '
depends_on:
external_db_host:
condition: service_healthy
@ -153,11 +153,11 @@ services:
command:
- sh
- -c
- '/script/run-forever.sh /vt/bin/vtgate --topo_implementation consul --topo_global_server_address
consul1:8500 --topo_global_root vitess/global --logtostderr=true --port 8080 --grpc_port
15999 --mysql_server_port 15306 --mysql_auth_server_impl none --cell test --cells_to_watch
test --tablet_types_to_wait PRIMARY,REPLICA,RDONLY --service_map ''grpc-vtgateservice''
--normalize_queries=true '
- '/script/run-forever.sh /vt/bin/vtgate --topo-implementation consul --topo-global-server-address
consul1:8500 --topo-global-root vitess/global --logtostderr=true --port 8080 --grpc-port
15999 --mysql-server-port 15306 --mysql-auth-server-impl none --cell test --cells_to_watch
test --tablet-types-to-wait PRIMARY,REPLICA,RDONLY --service-map ''grpc-vtgateservice''
--normalize-queries=true '
depends_on:
- vtctld
image: vitess/lite:${VITESS_TAG:-latest}
@ -176,8 +176,8 @@ services:
- vtctld
- set_keyspace_durability_policy
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- EXTERNAL_DB=0
- DB_USER=
@ -195,8 +195,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -232,8 +232,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -269,8 +269,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -306,8 +306,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -343,8 +343,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -380,8 +380,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test

View File

@ -1,4 +1,4 @@
TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500 --topo_global_root vitess/global
TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500 --topo-global-root vitess/global
GRPC_PORT=15999
WEB_PORT=8080
MYSQL_PORT=15306

View File

@ -67,8 +67,8 @@ services:
vttablet201:
condition: service_healthy
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -91,8 +91,8 @@ services:
vttablet301:
condition: service_healthy
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -141,8 +141,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- EXTERNAL_DB=0
image: vitess/lite:${VITESS_TAG:-latest}
volumes:
@ -151,11 +151,11 @@ services:
command:
- sh
- -c
- ' /vt/bin/vtctld --topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global --cell test
--service_map ''grpc-vtctl,grpc-vtctld'' --backup_storage_implementation file
--file_backup_storage_root /vt/vtdataroot/backups --logtostderr=true --port
8080 --grpc_port 15999 '
- ' /vt/bin/vtctld --topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global --cell test
--service-map ''grpc-vtctl,grpc-vtctld'' --backup-storage-implementation file
--file_backup_storage_root /vt/vtdataroot/backups --logtostderr=true --port
8080 --grpc-port 15999 '
depends_on:
external_db_host:
condition: service_healthy
@ -169,11 +169,11 @@ services:
command:
- sh
- -c
- '/script/run-forever.sh /vt/bin/vtgate --topo_implementation consul --topo_global_server_address
consul1:8500 --topo_global_root vitess/global --logtostderr=true --port 8080
--grpc_port 15999 --mysql_server_port 15306 --mysql_auth_server_impl none --cell
test --cells_to_watch test --tablet_types_to_wait PRIMARY,REPLICA,RDONLY --service_map
''grpc-vtgateservice'' --normalize_queries=true '
- '/script/run-forever.sh /vt/bin/vtgate --topo-implementation consul --topo-global-server-address
consul1:8500 --topo-global-root vitess/global --logtostderr=true --port 8080
--grpc-port 15999 --mysql-server-port 15306 --mysql-auth-server-impl none --cell
test --cells_to_watch test --tablet-types-to-wait PRIMARY,REPLICA,RDONLY --service-map
''grpc-vtgateservice'' --normalize-queries=true '
depends_on:
- vtctld
image: vitess/lite:${VITESS_TAG:-latest}
@ -194,8 +194,8 @@ services:
- vtctld
environment:
- WEB_PORT=8080
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- EXTERNAL_DB=0
- DB_USER=
- DB_PASS=
@ -212,8 +212,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -249,8 +249,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -286,8 +286,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -323,8 +323,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test
@ -360,8 +360,8 @@ services:
depends_on:
- vtctld
environment:
- TOPOLOGY_FLAGS=--topo_implementation consul --topo_global_server_address consul1:8500
--topo_global_root vitess/global
- TOPOLOGY_FLAGS=--topo-implementation consul --topo-global-server-address consul1:8500
--topo-global-root vitess/global
- WEB_PORT=8080
- GRPC_PORT=15999
- CELL=test

View File

@ -46,7 +46,7 @@ const (
cellUsage = "Vitess Cell name"
DefaultExternalDbData = ""
externalDbDataUsage = "List of Data corresponding to external DBs. List of <external_db_name>,<DB_HOST>,<DB_PORT>,<DB_USER>,<DB_PASS>,<DB_CHARSET> separated by ';'"
DefaultTopologyFlags = "--topo_implementation consul --topo_global_server_address consul1:8500 --topo_global_root vitess/global"
DefaultTopologyFlags = "--topo-implementation consul --topo-global-server-address consul1:8500 --topo-global-root vitess/global"
topologyFlagsUsage = "Vitess Topology Flags config"
)
@ -632,12 +632,12 @@ func generateVtctld(opts vtOptions) string {
command: ["sh", "-c", " /vt/bin/vtctld \
%[3]s \
--cell %[4]s \
--service_map 'grpc-vtctl,grpc-vtctld' \
--backup_storage_implementation file \
--service-map 'grpc-vtctl,grpc-vtctld' \
--backup-storage-implementation file \
--file_backup_storage_root /vt/vtdataroot/backups \
--logtostderr=true \
--port %[1]d \
--grpc_port %[2]d \
--grpc-port %[2]d \
"]
volumes:
- .:/script
@ -665,14 +665,14 @@ func generateVtgate(opts vtOptions) string {
%[4]s \
--logtostderr=true \
--port %[1]d \
--grpc_port %[2]d \
--mysql_server_port %[3]d \
--mysql_auth_server_impl none \
--grpc-port %[2]d \
--mysql-server-port %[3]d \
--mysql-auth-server-impl none \
--cell %[5]s \
--cells_to_watch %[5]s \
--tablet_types_to_wait PRIMARY,REPLICA,RDONLY \
--service_map 'grpc-vtgateservice' \
--normalize_queries=true \
--tablet-types-to-wait PRIMARY,REPLICA,RDONLY \
--service-map 'grpc-vtgateservice' \
--normalize-queries=true \
"]
volumes:
- .:/script

View File

@ -95,6 +95,7 @@ rm -rf $VTDATAROOT/$tablet_dir/{mysql.sock,mysql.sock.lock}
# Create mysql instances
# Do not create mysql instance for primary if connecting to external mysql database
#TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
if [[ $tablet_role != "externalprimary" ]]; then
echo "Initing mysql for tablet: $uid role: $role external: $external.. "
$VTROOT/bin/mysqlctld \
@ -142,7 +143,7 @@ else
--restore_from_backup"
fi
#TODO: Remove underscore(_) flags in v25, replace them with dashed(-) notation
echo "Starting vttablet..."
exec $VTROOT/bin/vttablet \
$TOPOLOGY_FLAGS \

View File

@ -44,7 +44,7 @@ spec:
cells:
- zone1
extraFlags:
security_policy: read-only
security-policy: read-only
replicas: 1
resources:
limits:
@ -101,7 +101,7 @@ spec:
replicas: 2
vttablet:
extraFlags:
db_charset: utf8mb4
db-charset: utf8mb4
resources:
limits:
memory: 256Mi

View File

@ -40,7 +40,7 @@ spec:
cells:
- zone1
extraFlags:
security_policy: read-only
security-policy: read-only
replicas: 1
resources:
limits:
@ -97,7 +97,7 @@ spec:
replicas: 2
vttablet:
extraFlags:
db_charset: utf8mb4
db-charset: utf8mb4
resources:
limits:
memory: 256Mi
@ -132,7 +132,7 @@ spec:
replicas: 2
vttablet:
extraFlags:
db_charset: utf8mb4
db-charset: utf8mb4
resources:
limits:
memory: 256Mi

View File

@ -40,7 +40,7 @@ spec:
cells:
- zone1
extraFlags:
security_policy: read-only
security-policy: read-only
replicas: 1
resources:
limits:
@ -97,7 +97,7 @@ spec:
replicas: 2
vttablet:
extraFlags:
db_charset: utf8mb4
db-charset: utf8mb4
resources:
limits:
memory: 256Mi
@ -132,7 +132,7 @@ spec:
replicas: 2
vttablet:
extraFlags:
db_charset: utf8mb4
db-charset: utf8mb4
resources:
limits:
memory: 256Mi
@ -163,7 +163,7 @@ spec:
replicas: 2
vttablet:
extraFlags:
db_charset: utf8mb4
db-charset: utf8mb4
resources:
limits:
memory: 256Mi

View File

@ -40,7 +40,7 @@ spec:
cells:
- zone1
extraFlags:
security_policy: read-only
security-policy: read-only
replicas: 1
resources:
limits:
@ -97,7 +97,7 @@ spec:
replicas: 2
vttablet:
extraFlags:
db_charset: utf8mb4
db-charset: utf8mb4
resources:
limits:
memory: 256Mi
@ -132,7 +132,7 @@ spec:
replicas: 2
vttablet:
extraFlags:
db_charset: utf8mb4
db-charset: utf8mb4
resources:
limits:
memory: 256Mi

View File

@ -74,7 +74,7 @@ spec:
cells:
- zone1
extraFlags:
security_policy: read-only
security-policy: read-only
replicas: 1
resources:
limits:
@ -131,8 +131,8 @@ spec:
replicas: 2
vttablet:
extraFlags:
db_charset: utf8mb4
wait_for_backup_interval: "0"
db-charset: utf8mb4
wait-for-backup-interval: "0"
resources:
limits:
memory: 1024Mi
@ -167,8 +167,8 @@ spec:
replicas: 2
vttablet:
extraFlags:
db_charset: utf8mb4
wait_for_backup_interval: "0"
db-charset: utf8mb4
wait-for-backup-interval: "0"
resources:
limits:
memory: 1024Mi

View File

@ -3894,6 +3894,10 @@ spec:
type: object
mysqldExporter:
properties:
extraFlags:
additionalProperties:
type: string
type: object
resources:
properties:
claims:
@ -3927,8 +3931,6 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
required:
- resources
type: object
name:
default: ""
@ -4335,6 +4337,10 @@ spec:
type: object
mysqldExporter:
properties:
extraFlags:
additionalProperties:
type: string
type: object
resources:
properties:
claims:
@ -4368,8 +4374,6 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
required:
- resources
type: object
name:
default: ""
@ -4980,6 +4984,8 @@ spec:
type: array
extraVolumes:
x-kubernetes-preserve-unknown-fields: true
fetchCredentials:
type: string
initContainers:
x-kubernetes-preserve-unknown-fields: true
rbac:
@ -5713,6 +5719,10 @@ spec:
type: object
mysqldExporter:
properties:
extraFlags:
additionalProperties:
type: string
type: object
resources:
properties:
claims:
@ -5746,8 +5756,6 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
required:
- resources
type: object
name:
default: ""
@ -6154,6 +6162,10 @@ spec:
type: object
mysqldExporter:
properties:
extraFlags:
additionalProperties:
type: string
type: object
resources:
properties:
claims:
@ -6187,8 +6199,6 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
required:
- resources
type: object
name:
default: ""
@ -7148,6 +7158,10 @@ spec:
type: object
mysqldExporter:
properties:
extraFlags:
additionalProperties:
type: string
type: object
resources:
properties:
claims:
@ -7181,8 +7195,6 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
required:
- resources
type: object
name:
default: ""

148
go.mod
View File

@ -1,9 +1,9 @@
module vitess.io/vitess
go 1.24.1
go 1.24.4
require (
cloud.google.com/go/storage v1.51.0
cloud.google.com/go/storage v1.54.0
github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6
github.com/Azure/azure-pipeline-go v0.2.3
github.com/Azure/azure-storage-blob-go v0.15.0
@ -15,9 +15,9 @@ require (
github.com/corpix/uarand v0.1.1 // indirect
github.com/dave/jennifer v1.7.1
github.com/evanphx/json-patch v5.9.11+incompatible
github.com/fsnotify/fsnotify v1.8.0
github.com/fsnotify/fsnotify v1.9.0
github.com/go-sql-driver/mysql v1.7.1
github.com/golang/glog v1.2.4
github.com/golang/glog v1.2.5
github.com/golang/protobuf v1.5.4 // indirect
github.com/golang/snappy v1.0.0
github.com/google/go-cmp v0.7.0
@ -27,60 +27,59 @@ require (
github.com/gorilla/mux v1.8.1
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
github.com/hashicorp/consul/api v1.31.2
github.com/hashicorp/consul/api v1.32.1
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
github.com/hashicorp/serf v0.10.2 // indirect
github.com/icrowley/fake v0.0.0-20180203215853-4178557ae428
github.com/klauspost/compress v1.18.0
github.com/klauspost/pgzip v1.2.6
github.com/krishicks/yaml-patch v0.0.10
github.com/magiconair/properties v1.8.9 // indirect
github.com/minio/minio-go v0.0.0-20190131015406-c8a261de75c1
github.com/montanaflynn/stats v0.7.1
github.com/olekukonko/tablewriter v0.0.5
github.com/opentracing-contrib/go-grpc v0.1.1
github.com/opentracing-contrib/go-grpc v0.1.2
github.com/opentracing/opentracing-go v1.2.0
github.com/patrickmn/go-cache v2.1.0+incompatible
github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c // indirect
github.com/pierrec/lz4 v2.6.1+incompatible
github.com/pires/go-proxyproto v0.8.0
github.com/pires/go-proxyproto v0.8.1
github.com/pkg/errors v0.9.1 // indirect
github.com/planetscale/pargzip v0.0.0-20201116224723-90c7fc03ea8a
github.com/planetscale/vtprotobuf v0.6.1-0.20241121165744-79df5c4772f2
github.com/prometheus/client_golang v1.21.1
github.com/prometheus/client_golang v1.22.0
github.com/prometheus/common v0.63.0
github.com/sjmudd/stopwatch v0.1.1
github.com/soheilhy/cmux v0.1.5
github.com/spf13/cobra v1.9.1
github.com/spf13/pflag v1.0.6
github.com/spf13/viper v1.19.0
github.com/spf13/viper v1.20.1
github.com/stretchr/testify v1.10.0
github.com/tchap/go-patricia v2.3.0+incompatible
github.com/tidwall/gjson v1.18.0
github.com/tinylib/msgp v1.2.5 // indirect
github.com/tinylib/msgp v1.3.0 // indirect
github.com/uber/jaeger-client-go v2.30.0+incompatible
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82
github.com/z-division/go-zookeeper v1.0.0
go.etcd.io/etcd/api/v3 v3.5.19
go.etcd.io/etcd/client/pkg/v3 v3.5.19
go.etcd.io/etcd/client/v3 v3.5.19
go.etcd.io/etcd/api/v3 v3.5.21
go.etcd.io/etcd/client/pkg/v3 v3.5.21
go.etcd.io/etcd/client/v3 v3.5.21
go.uber.org/mock v0.5.0
golang.org/x/crypto v0.36.0 // indirect
golang.org/x/crypto v0.38.0 // indirect
golang.org/x/mod v0.24.0 // indirect
golang.org/x/net v0.37.0
golang.org/x/oauth2 v0.28.0
golang.org/x/sys v0.31.0
golang.org/x/term v0.30.0
golang.org/x/text v0.23.0 // indirect
golang.org/x/net v0.40.0
golang.org/x/oauth2 v0.30.0
golang.org/x/sys v0.33.0
golang.org/x/term v0.32.0
golang.org/x/text v0.25.0 // indirect
golang.org/x/time v0.11.0
golang.org/x/tools v0.31.0
google.golang.org/api v0.226.0
google.golang.org/genproto v0.0.0-20250313205543-e70fdf4c4cb4 // indirect
google.golang.org/grpc v1.71.0
golang.org/x/tools v0.33.0
google.golang.org/api v0.233.0
google.golang.org/genproto v0.0.0-20250512202823-5a2f75b736a9 // indirect
google.golang.org/grpc v1.72.1
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1
google.golang.org/grpc/examples v0.0.0-20250204041003-947e2a4be2ba
google.golang.org/protobuf v1.36.5
google.golang.org/protobuf v1.36.6
gopkg.in/DataDog/dd-trace-go.v1 v1.69.1
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect
gopkg.in/ldap.v2 v2.5.1
@ -89,11 +88,11 @@ require (
require (
github.com/DataDog/datadog-go/v5 v5.6.0
github.com/Shopify/toxiproxy/v2 v2.11.0
github.com/Shopify/toxiproxy/v2 v2.12.0
github.com/aws/aws-sdk-go-v2 v1.36.3
github.com/aws/aws-sdk-go-v2/config v1.29.9
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.66
github.com/aws/aws-sdk-go-v2/service/s3 v1.78.2
github.com/aws/aws-sdk-go-v2/config v1.29.14
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.75
github.com/aws/aws-sdk-go-v2/service/s3 v1.79.3
github.com/aws/smithy-go v1.22.3
github.com/bndr/gotabulate v1.1.2
github.com/dustin/go-humanize v1.0.1
@ -104,29 +103,40 @@ require (
github.com/kr/text v0.2.0
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c
github.com/nsf/jsondiff v0.0.0-20210926074059-1e845ec5d249
github.com/spf13/afero v1.12.0
github.com/shirou/gopsutil/v4 v4.25.4
github.com/spf13/afero v1.14.0
github.com/spf13/jwalterweatherman v1.1.0
github.com/xlab/treeprint v1.2.0
go.uber.org/goleak v1.3.0
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394
golang.org/x/sync v0.12.0
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6
golang.org/x/sync v0.14.0
gonum.org/v1/gonum v0.15.1
modernc.org/sqlite v1.36.1
modernc.org/sqlite v1.37.0
)
require (
cel.dev/expr v0.22.0 // indirect
cloud.google.com/go v0.119.0 // indirect
cloud.google.com/go/auth v0.15.0 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.7 // indirect
cloud.google.com/go/compute/metadata v0.6.0 // indirect
cloud.google.com/go/iam v1.4.2 // indirect
cloud.google.com/go/monitoring v1.24.1 // indirect
github.com/DataDog/appsec-internal-go v1.10.0 // indirect
github.com/DataDog/datadog-agent/pkg/obfuscate v0.64.1 // indirect
github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.64.1 // indirect
github.com/cilium/ebpf v0.16.0 // indirect
github.com/containerd/log v0.1.0 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/godbus/dbus/v5 v5.1.0 // indirect
github.com/moby/sys/userns v0.1.0 // indirect
github.com/opencontainers/runtime-spec v1.2.0 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
)
require (
cel.dev/expr v0.24.0 // indirect
cloud.google.com/go v0.121.1 // indirect
cloud.google.com/go/auth v0.16.1 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
cloud.google.com/go/compute/metadata v0.7.0 // indirect
cloud.google.com/go/iam v1.5.2 // indirect
cloud.google.com/go/monitoring v1.24.2 // indirect
github.com/DataDog/appsec-internal-go v1.11.2 // indirect
github.com/DataDog/datadog-agent/pkg/obfuscate v0.65.1 // indirect
github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.65.1 // indirect
github.com/DataDog/go-libddwaf/v3 v3.5.4 // indirect
github.com/DataDog/go-sqllexer v0.1.3 // indirect
github.com/DataDog/go-sqllexer v0.1.6 // indirect
github.com/DataDog/go-tuf v1.1.0-0.5.2 // indirect
github.com/DataDog/sketches-go v1.4.7 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0 // indirect
@ -134,37 +144,42 @@ require (
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.51.0 // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.10 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.17.62 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.17.67 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.34 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.0 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.1 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.15 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.25.1 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.29.1 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.33.17 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.25.3 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.1 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.33.19 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 // indirect
github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 // indirect
github.com/containerd/cgroups v1.1.0
github.com/containerd/cgroups/v3 v3.0.5
github.com/coreos/go-semver v0.3.1 // indirect
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.7 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/eapache/queue/v2 v2.0.0-20230407133247-75960ed334e4 // indirect
github.com/ebitengine/purego v0.8.2 // indirect
github.com/ebitengine/purego v0.8.3 // indirect
github.com/envoyproxy/go-control-plane/envoy v1.32.4 // indirect
github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/go-jose/go-jose/v4 v4.1.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/s2a-go v0.1.9 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect
github.com/googleapis/gax-go/v2 v2.14.1 // indirect
github.com/googleapis/gax-go/v2 v2.14.2 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-hclog v1.6.3 // indirect
@ -175,8 +190,8 @@ require (
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
github.com/hashicorp/go-sockaddr v1.0.7 // indirect
github.com/hashicorp/golang-lru v1.0.2 // indirect
github.com/hashicorp/hcl v1.0.1-vault-7 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-ieproxy v0.0.12 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
@ -187,23 +202,28 @@ require (
github.com/onsi/ginkgo v1.16.5 // indirect
github.com/onsi/gomega v1.23.0 // indirect
github.com/outcaste-io/ristretto v0.2.3 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/procfs v0.16.1 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/ryanuber/go-glob v1.0.0 // indirect
github.com/sagikazarmark/locafero v0.7.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
github.com/sagikazarmark/locafero v0.9.0 // indirect
github.com/secure-systems-lab/go-securesystemslib v0.9.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/cast v1.7.1 // indirect
github.com/spf13/cast v1.8.0 // indirect
github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/tidwall/match v1.1.1 // indirect
github.com/tidwall/pretty v1.2.1 // indirect
github.com/tklauser/go-sysconf v0.3.12 // indirect
github.com/tklauser/numcpus v0.6.1 // indirect
github.com/yusufpapurcu/wmi v1.2.4 // indirect
github.com/zeebo/errs v1.4.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/contrib/detectors/gcp v1.35.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 // indirect
@ -217,12 +237,12 @@ require (
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250313205543-e70fdf4c4cb4 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250512202823-5a2f75b736a9 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250512202823-5a2f75b736a9 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
modernc.org/libc v1.61.13 // indirect
modernc.org/libc v1.65.6 // indirect
modernc.org/mathutil v1.7.1 // indirect
modernc.org/memory v1.8.2 // indirect
modernc.org/memory v1.10.0 // indirect
)

333
go.sum
View File

@ -1,27 +1,27 @@
cel.dev/expr v0.22.0 h1:+hFFhLPmquBImfs1BiN2PZmkr5ASse2ZOuaxIs9e4R8=
cel.dev/expr v0.22.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw=
cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY=
cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.119.0 h1:tw7OjErMzJKbbjaEHkrt60KQrK5Wus/boCZ7tm5/RNE=
cloud.google.com/go v0.119.0/go.mod h1:fwB8QLzTcNevxqi8dcpR+hoMIs3jBherGS9VUBDAW08=
cloud.google.com/go/auth v0.15.0 h1:Ly0u4aA5vG/fsSsxu98qCQBemXtAtJf+95z9HK+cxps=
cloud.google.com/go/auth v0.15.0/go.mod h1:WJDGqZ1o9E9wKIL+IwStfyn/+s59zl4Bi+1KQNVXLZ8=
cloud.google.com/go/auth/oauth2adapt v0.2.7 h1:/Lc7xODdqcEw8IrZ9SvwnlLX6j9FHQM74z6cBk9Rw6M=
cloud.google.com/go/auth/oauth2adapt v0.2.7/go.mod h1:NTbTTzfvPl1Y3V1nPpOgl2w6d/FjO7NNUQaWSox6ZMc=
cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I=
cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg=
cloud.google.com/go/iam v1.4.2 h1:4AckGYAYsowXeHzsn/LCKWIwSWLkdb0eGjH8wWkd27Q=
cloud.google.com/go/iam v1.4.2/go.mod h1:REGlrt8vSlh4dfCJfSEcNjLGq75wW75c5aU3FLOYq34=
cloud.google.com/go v0.121.1 h1:S3kTQSydxmu1JfLRLpKtxRPA7rSrYPRPEUmL/PavVUw=
cloud.google.com/go v0.121.1/go.mod h1:nRFlrHq39MNVWu+zESP2PosMWA0ryJw8KUBZ2iZpxbw=
cloud.google.com/go/auth v0.16.1 h1:XrXauHMd30LhQYVRHLGvJiYeczweKQXZxsTbV9TiguU=
cloud.google.com/go/auth v0.16.1/go.mod h1:1howDHJ5IETh/LwYs3ZxvlkXF48aSqqJUM+5o02dNOI=
cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
cloud.google.com/go/compute/metadata v0.7.0 h1:PBWF+iiAerVNe8UCHxdOt6eHLVc3ydFeOCw78U8ytSU=
cloud.google.com/go/compute/metadata v0.7.0/go.mod h1:j5MvL9PprKL39t166CoB1uVHfQMs4tFQZZcKwksXUjo=
cloud.google.com/go/iam v1.5.2 h1:qgFRAGEmd8z6dJ/qyEchAuL9jpswyODjA2lS+w234g8=
cloud.google.com/go/iam v1.5.2/go.mod h1:SE1vg0N81zQqLzQEwxL2WI6yhetBdbNQuTvIKCSkUHE=
cloud.google.com/go/logging v1.13.0 h1:7j0HgAp0B94o1YRDqiqm26w4q1rDMH7XNRU34lJXHYc=
cloud.google.com/go/logging v1.13.0/go.mod h1:36CoKh6KA/M0PbhPKMq6/qety2DCAErbhXT62TuXALA=
cloud.google.com/go/longrunning v0.6.5 h1:sD+t8DO8j4HKW4QfouCklg7ZC1qC4uzVZt8iz3uTW+Q=
cloud.google.com/go/longrunning v0.6.5/go.mod h1:Et04XK+0TTLKa5IPYryKf5DkpwImy6TluQ1QTLwlKmY=
cloud.google.com/go/monitoring v1.24.1 h1:vKiypZVFD/5a3BbQMvI4gZdl8445ITzXFh257XBgrS0=
cloud.google.com/go/monitoring v1.24.1/go.mod h1:Z05d1/vn9NaujqY2voG6pVQXoJGbp+r3laV+LySt9K0=
cloud.google.com/go/storage v1.51.0 h1:ZVZ11zCiD7b3k+cH5lQs/qcNaoSz3U9I0jgwVzqDlCw=
cloud.google.com/go/storage v1.51.0/go.mod h1:YEJfu/Ki3i5oHC/7jyTgsGZwdQ8P9hqMqvpi5kRKGgc=
cloud.google.com/go/trace v1.11.3 h1:c+I4YFjxRQjvAhRmSsmjpASUKq88chOX854ied0K/pE=
cloud.google.com/go/trace v1.11.3/go.mod h1:pt7zCYiDSQjC9Y2oqCsh9jF4GStB/hmjrYLsxRR27q8=
cloud.google.com/go/longrunning v0.6.7 h1:IGtfDWHhQCgCjwQjV9iiLnUta9LBCo8R9QmAFsS/PrE=
cloud.google.com/go/longrunning v0.6.7/go.mod h1:EAFV3IZAKmM56TyiE6VAP3VoTzhZzySwI/YI1s/nRsY=
cloud.google.com/go/monitoring v1.24.2 h1:5OTsoJ1dXYIiMiuL+sYscLc9BumrL3CarVLL7dd7lHM=
cloud.google.com/go/monitoring v1.24.2/go.mod h1:x7yzPWcgDRnPEv3sI+jJGBkwl5qINf+6qY4eq0I9B4U=
cloud.google.com/go/storage v1.54.0 h1:Du3XEyliAiftfyW0bwfdppm2MMLdpVAfiIg4T2nAI+0=
cloud.google.com/go/storage v1.54.0/go.mod h1:hIi9Boe8cHxTyaeqh7KMMwKg088VblFK46C2x/BWaZE=
cloud.google.com/go/trace v1.11.6 h1:2O2zjPzqPYAHrn3OKl029qlqG6W8ZdYaOWRyr8NgMT4=
cloud.google.com/go/trace v1.11.6/go.mod h1:GA855OeDEBiBMzcckLPE2kDunIpC72N+Pq8WFieFjnI=
github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk=
github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8=
github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U=
@ -40,19 +40,19 @@ github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZ
github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo=
github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/DataDog/appsec-internal-go v1.10.0 h1:RlY1FXYeaDCHs5fbhcs5x/MxZYUwg53LOy+iSj0iHsU=
github.com/DataDog/appsec-internal-go v1.10.0/go.mod h1:9eYpAdKZF4Pz49qOmNL+OSVFHjhkZrBdBBjmAwBeN5c=
github.com/DataDog/datadog-agent/pkg/obfuscate v0.64.1 h1:pZQkM5znAheg61GNv8qIkVxyUKmVEgN/ZN9sNDULtgg=
github.com/DataDog/datadog-agent/pkg/obfuscate v0.64.1/go.mod h1:izbemZjqzBn9upkZj8SyT9igSGPMALaQYgswJ0408vY=
github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.64.1 h1:B+kUwdbxFO4Dd07MfoOsenuV5jTEpJxYhFEbL8l95bs=
github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.64.1/go.mod h1:1AAhFoEuoXs8jfpj7EiGW6lsqvCYgQc0B0pRpYAPEW4=
github.com/DataDog/appsec-internal-go v1.11.2 h1:Q00pPMQzqMIw7jT2ObaORIxBzSly+deS0Ely9OZ/Bj0=
github.com/DataDog/appsec-internal-go v1.11.2/go.mod h1:9YppRCpElfGX+emXOKruShFYsdPq7WEPq/Fen4tYYpk=
github.com/DataDog/datadog-agent/pkg/obfuscate v0.65.1 h1:WMSComl8tXteUjDnQKZzONEOnaVloOPbZWjjGv+kFNQ=
github.com/DataDog/datadog-agent/pkg/obfuscate v0.65.1/go.mod h1:aZhd/54tdkoestFE6bqGn+u2Z3eEnKnWwy4xY/bzSW4=
github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.65.1 h1:XGScSyjkISrbd58Sm4rEuXc+s5Cs7YVKiy3X7PucReo=
github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.65.1/go.mod h1:IVspeNtooiQazY8K0dluINf5gdksPfHXUB8zShmDZrU=
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
github.com/DataDog/datadog-go/v5 v5.6.0 h1:2oCLxjF/4htd55piM75baflj/KoE6VYS7alEUqFvRDw=
github.com/DataDog/datadog-go/v5 v5.6.0/go.mod h1:K9kcYBlxkcPP8tvvjZZKs/m1edNAUFzBbdpTUKfCsuw=
github.com/DataDog/go-libddwaf/v3 v3.5.4 h1:cLV5lmGhrUBnHG50EUXdqPQAlJdVCp9n3aQ5bDWJEAg=
github.com/DataDog/go-libddwaf/v3 v3.5.4/go.mod h1:HoLUHdj0NybsPBth/UppTcg8/DKA4g+AXuk8cZ6nuoo=
github.com/DataDog/go-sqllexer v0.1.3 h1:Kl2T6QVndMEZqQSY8rkoltYP+LVNaA54N+EwAMc9N5w=
github.com/DataDog/go-sqllexer v0.1.3/go.mod h1:KwkYhpFEVIq+BfobkTC1vfqm4gTi65skV/DpDBXtexc=
github.com/DataDog/go-sqllexer v0.1.6 h1:skEXpWEVCpeZFIiydoIa2f2rf+ymNpjiIMqpW4w3YAk=
github.com/DataDog/go-sqllexer v0.1.6/go.mod h1:GGpo1h9/BVSN+6NJKaEcJ9Jn44Hqc63Rakeb+24Mjgo=
github.com/DataDog/go-tuf v1.1.0-0.5.2 h1:4CagiIekonLSfL8GMHRHcHudo1fQnxELS9g4tiAupQ4=
github.com/DataDog/go-tuf v1.1.0-0.5.2/go.mod h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0=
github.com/DataDog/gostackparse v0.7.0 h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4=
@ -75,8 +75,8 @@ github.com/Masterminds/vcs v1.13.0/go.mod h1:N09YCmOQr6RLxC6UNHzuVwAdodYbbnycGHS
github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
github.com/Shopify/toxiproxy/v2 v2.11.0 h1:iXm78nBN50T2BTs1Z8w1fdC0Y1kltkJZQEyMcYyCgGQ=
github.com/Shopify/toxiproxy/v2 v2.11.0/go.mod h1:EPnGLFvhpcwVKCsbFZwyOq4PxnGg9cFbhMrVT3ROBEo=
github.com/Shopify/toxiproxy/v2 v2.12.0 h1:d1x++lYZg/zijXPPcv7PH0MvHMzEI5aX/YuUi/Sw+yg=
github.com/Shopify/toxiproxy/v2 v2.12.0/go.mod h1:R9Z38Pw6k2cGZWXHe7tbxjGW9azmY1KbDQJ1kd+h7Tk=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
@ -90,14 +90,14 @@ github.com/aws/aws-sdk-go-v2 v1.36.3 h1:mJoei2CxPutQVxaATCzDUjcZEjVRdpsiiXi2o38y
github.com/aws/aws-sdk-go-v2 v1.36.3/go.mod h1:LLXuLpgzEbD766Z5ECcRmi8AzSwfZItDtmABVkRLGzg=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.10 h1:zAybnyUQXIZ5mok5Jqwlf58/TFE7uvd3IAsa1aF9cXs=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.10/go.mod h1:qqvMj6gHLR/EXWZw4ZbqlPbQUyenf4h82UQUlKc+l14=
github.com/aws/aws-sdk-go-v2/config v1.29.9 h1:Kg+fAYNaJeGXp1vmjtidss8O2uXIsXwaRqsQJKXVr+0=
github.com/aws/aws-sdk-go-v2/config v1.29.9/go.mod h1:oU3jj2O53kgOU4TXq/yipt6ryiooYjlkqqVaZk7gY/U=
github.com/aws/aws-sdk-go-v2/credentials v1.17.62 h1:fvtQY3zFzYJ9CfixuAQ96IxDrBajbBWGqjNTCa79ocU=
github.com/aws/aws-sdk-go-v2/credentials v1.17.62/go.mod h1:ElETBxIQqcxej++Cs8GyPBbgMys5DgQPTwo7cUPDKt8=
github.com/aws/aws-sdk-go-v2/config v1.29.14 h1:f+eEi/2cKCg9pqKBoAIwRGzVb70MRKqWX4dg1BDcSJM=
github.com/aws/aws-sdk-go-v2/config v1.29.14/go.mod h1:wVPHWcIFv3WO89w0rE10gzf17ZYy+UVS1Geq8Iei34g=
github.com/aws/aws-sdk-go-v2/credentials v1.17.67 h1:9KxtdcIA/5xPNQyZRgUSpYOE6j9Bc4+D7nZua0KGYOM=
github.com/aws/aws-sdk-go-v2/credentials v1.17.67/go.mod h1:p3C44m+cfnbv763s52gCqrjaqyPikj9Sg47kUVaNZQQ=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30 h1:x793wxmUWVDhshP8WW2mlnXuFrO4cOd3HLBroh1paFw=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.30/go.mod h1:Jpne2tDnYiFascUEs2AWHJL9Yp7A5ZVy3TNyxaAjD6M=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.66 h1:MTLivtC3s89de7Fe3P8rzML/8XPNRfuyJhlRTsCEt0k=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.66/go.mod h1:NAuQ2s6gaFEsuTIb2+P5t6amB1w5MhvJFxppoezGWH0=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.75 h1:S61/E3N01oral6B3y9hZ2E1iFDqCZPPOBoBQretCnBI=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.75/go.mod h1:bDMQbkI1vJbNjnvJYpPTSNYBkI/VIv18ngWb/K84tkk=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34 h1:ZK5jHhnrioRkUNOc+hOgQKlUL5JeC3S6JgLxtQ+Rm0Q=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.34/go.mod h1:p4VfIceZokChbA9FzMbRGz5OV+lekcVtHlPKEO0gSZY=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.34 h1:SZwFm17ZUNNg5Np0ioo/gq8Mn6u9w19Mri8DnJ15Jf0=
@ -108,20 +108,20 @@ github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.34 h1:ZNTqv4nIdE/DiBfUUfXcLZ/Spcu
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.34/go.mod h1:zf7Vcd1ViW7cPqYWEHLHJkS50X0JS2IKz9Cgaj6ugrs=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3 h1:eAh2A4b5IzM/lum78bZ590jy36+d/aFLgKF/4Vd1xPE=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.3/go.mod h1:0yKJC/kb8sAnmlYa6Zs3QVYqaC8ug2AbnNChv5Ox3uA=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.0 h1:lguz0bmOoGzozP9XfRJR1QIayEYo+2vP/No3OfLF0pU=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.0/go.mod h1:iu6FSzgt+M2/x3Dk8zhycdIcHjEFb36IS8HVUVFoMg0=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.1 h1:4nm2G6A4pV9rdlWzGMPv4BNtQp22v1hg3yrtkYpeLl8=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.7.1/go.mod h1:iu6FSzgt+M2/x3Dk8zhycdIcHjEFb36IS8HVUVFoMg0=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15 h1:dM9/92u2F1JbDaGooxTq18wmmFzbJRfXfVfy96/1CXM=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.15/go.mod h1:SwFBy2vjtA0vZbjjaFtfN045boopadnoVPhu4Fv66vY=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.15 h1:moLQUoVq91LiqT1nbvzDukyqAlCv89ZmwaHw/ZFlFZg=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.15/go.mod h1:ZH34PJUc8ApjBIfgQCFvkWcUDBtl/WTD+uiYHjd8igA=
github.com/aws/aws-sdk-go-v2/service/s3 v1.78.2 h1:jIiopHEV22b4yQP2q36Y0OmwLbsxNWdWwfZRR5QRRO4=
github.com/aws/aws-sdk-go-v2/service/s3 v1.78.2/go.mod h1:U5SNqwhXB3Xe6F47kXvWihPl/ilGaEDe8HD/50Z9wxc=
github.com/aws/aws-sdk-go-v2/service/sso v1.25.1 h1:8JdC7Gr9NROg1Rusk25IcZeTO59zLxsKgE0gkh5O6h0=
github.com/aws/aws-sdk-go-v2/service/sso v1.25.1/go.mod h1:qs4a9T5EMLl/Cajiw2TcbNt2UNo/Hqlyp+GiuG4CFDI=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.29.1 h1:KwuLovgQPcdjNMfFt9OhUd9a2OwcOKhxfvF4glTzLuA=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.29.1/go.mod h1:MlYRNmYu/fGPoxBQVvBYr9nyr948aY/WLUvwBMBJubs=
github.com/aws/aws-sdk-go-v2/service/sts v1.33.17 h1:PZV5W8yk4OtH1JAuhV2PXwwO9v5G5Aoj+eMCn4T+1Kc=
github.com/aws/aws-sdk-go-v2/service/sts v1.33.17/go.mod h1:cQnB8CUnxbMU82JvlqjKR2HBOm3fe9pWorWBza6MBJ4=
github.com/aws/aws-sdk-go-v2/service/s3 v1.79.3 h1:BRXS0U76Z8wfF+bnkilA2QwpIch6URlm++yPUt9QPmQ=
github.com/aws/aws-sdk-go-v2/service/s3 v1.79.3/go.mod h1:bNXKFFyaiVvWuR6O16h/I1724+aXe/tAkA9/QS01t5k=
github.com/aws/aws-sdk-go-v2/service/sso v1.25.3 h1:1Gw+9ajCV1jogloEv1RRnvfRFia2cL6c9cuKV2Ps+G8=
github.com/aws/aws-sdk-go-v2/service/sso v1.25.3/go.mod h1:qs4a9T5EMLl/Cajiw2TcbNt2UNo/Hqlyp+GiuG4CFDI=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.1 h1:hXmVKytPfTy5axZ+fYbR5d0cFmC3JvwLm5kM83luako=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.1/go.mod h1:MlYRNmYu/fGPoxBQVvBYr9nyr948aY/WLUvwBMBJubs=
github.com/aws/aws-sdk-go-v2/service/sts v1.33.19 h1:1XuUZ8mYJw9B6lzAkXhqHlJd/XvaX32evhproijJEZY=
github.com/aws/aws-sdk-go-v2/service/sts v1.33.19/go.mod h1:cQnB8CUnxbMU82JvlqjKR2HBOm3fe9pWorWBza6MBJ4=
github.com/aws/smithy-go v1.22.3 h1:Z//5NuZCSW6R4PhQ93hShNbyBbn8BWCmCVCt+Q8Io5k=
github.com/aws/smithy-go v1.22.3/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
@ -137,21 +137,30 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cilium/ebpf v0.16.0 h1:+BiEnHL6Z7lXnlGUsXQPPAE7+kenAd4ES8MQ5min0Ok=
github.com/cilium/ebpf v0.16.0/go.mod h1:L7u2Blt2jMM/vLAVgjxluxtBKlz3/GWjB0dMOEngfwE=
github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 h1:Om6kYQYDUk5wWbT0t0q6pvyM49i9XZAv9dDrkDA7gjk=
github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 h1:aQ3y1lwWyqYPiWZThqv1aFbZMiM9vblcSArJRf2Irls=
github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
github.com/codegangsta/cli v1.20.0/go.mod h1:/qJNoX69yVSKu5o4jLyXAENLRyk1uhi7zkbQ3slBdOA=
github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM=
github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw=
github.com/containerd/cgroups/v3 v3.0.5 h1:44na7Ud+VwyE7LIoJ8JTNQOa549a8543BmzaJHo6Bzo=
github.com/containerd/cgroups/v3 v3.0.5/go.mod h1:SA5DLYnXO8pTGYiAHXz94qvLQTKfVM5GEVisn4jpins=
github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo=
github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4=
github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec=
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/corpix/uarand v0.1.1 h1:RMr1TWc9F4n5jiPDzFHtmaUXLKLNUFK0SgCLo4BhX/U=
github.com/corpix/uarand v0.1.1/go.mod h1:SFKZvkcRoLqVRFZ4u25xPmp6m9ktANfbpXZ7SJ0/FNU=
github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo=
github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/dave/jennifer v1.7.1 h1:B4jJJDHelWcDhlRQxWeo0Npa/pYKBLrirAQoTN45txo=
github.com/dave/jennifer v1.7.1/go.mod h1:nXbxhEmQfOZhWml3D1cDK5M1FLnMSozpbFN/m3RmGZc=
@ -162,13 +171,15 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8Yc
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y=
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/eapache/queue/v2 v2.0.0-20230407133247-75960ed334e4 h1:8EXxF+tCLqaVk8AOC29zl2mnhQjwyLxxOTuhUazWRsg=
github.com/eapache/queue/v2 v2.0.0-20230407133247-75960ed334e4/go.mod h1:I5sHm0Y0T1u5YjlyqC5GVArM7aNZRUYtTjmJ8mPJFds=
github.com/ebitengine/purego v0.8.2 h1:jPPGWs2sZ1UgOSgD2bClL0MJIqu58nOmIcBuXr62z1I=
github.com/ebitengine/purego v0.8.2/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
github.com/ebitengine/purego v0.8.3 h1:K+0AjQp63JEZTEMZiwsI9g0+hAMNohwUOtY0RPGexmc=
github.com/ebitengine/purego v0.8.3/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@ -194,10 +205,12 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/gammazero/deque v1.0.0 h1:LTmimT8H7bXkkCy6gZX7zNLtkbz4NdS2z8LZuor3j34=
github.com/gammazero/deque v1.0.0/go.mod h1:iflpYvtGfM3U8S8j+sZEKIak3SAKYpA5/SQewgfXDKo=
github.com/go-jose/go-jose/v4 v4.1.0 h1:cYSYxd3pw5zd2FSXk2vGdn9igQU2PS8MuxrCOCl0FdY=
github.com/go-jose/go-jose/v4 v4.1.0/go.mod h1:GG/vqmYm3Von2nYiB2vGTXzdoNKE5tix5tuc6iAd+sw=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
@ -209,17 +222,25 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/glog v1.2.4 h1:CNNw5U8lSiiBk7druxtSHHTsRWcxKoac6kZKm2peBBc=
github.com/golang/glog v1.2.4/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
github.com/golang/glog v1.2.5 h1:DrW6hGnjIhtvhOIiAKT6Psh/Kd/ldepEa81DKeiRJ5I=
github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@ -245,6 +266,7 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
@ -253,8 +275,8 @@ github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc=
github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0=
github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd h1:gbpYu9NMq8jhDVbvlGkMFWCjLFlqqEZjEmObmhUy6Vo=
github.com/google/pprof v0.0.0-20240409012703-83162a5b38cd/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs=
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0=
github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM=
github.com/google/safehtml v0.1.0 h1:EwLKo8qawTKfsi0orxcQAZzu07cICaBeFMegAU9eaT8=
@ -266,8 +288,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/enterprise-certificate-proxy v0.3.6 h1:GW/XbdyBFQ8Qe+YAmFU9uHLo7OnF5tL52HFAgMmyrf4=
github.com/googleapis/enterprise-certificate-proxy v0.3.6/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA=
github.com/googleapis/gax-go/v2 v2.14.1 h1:hb0FFeiPaQskmvakKu5EbCbpntQn48jyHuvrkurSS/Q=
github.com/googleapis/gax-go/v2 v2.14.1/go.mod h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEPqouaLeN2IUxoA=
github.com/googleapis/gax-go/v2 v2.14.2 h1:eBLnkZ9635krYIPD+ag1USrOAI0Nr0QYF3+/3GqO0k0=
github.com/googleapis/gax-go/v2 v2.14.2/go.mod h1:ON64QhlJkhVtSqp4v1uaK92VyZ2gmvDQsweuyLV+8+w=
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
@ -277,8 +299,8 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDa
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/hashicorp/consul/api v1.31.2 h1:NicObVJHcCmyOIl7Z9iHPvvFrocgTYo9cITSGg0/7pw=
github.com/hashicorp/consul/api v1.31.2/go.mod h1:Z8YgY0eVPukT/17ejW+l+C7zJmKwgPHtjU1q16v/Y40=
github.com/hashicorp/consul/api v1.32.1 h1:0+osr/3t/aZNAdJX558crU3PEjVrG4x6715aZHRgceE=
github.com/hashicorp/consul/api v1.32.1/go.mod h1:mXUWLnxftwTmDv4W3lzxYCPD199iNLLUyLfLGFJbtl4=
github.com/hashicorp/consul/sdk v0.16.1 h1:V8TxTnImoPD5cj0U9Spl0TUxcytjcbbJeADFF07KdHg=
github.com/hashicorp/consul/sdk v0.16.1/go.mod h1:fSXvwxB2hmh1FMZCNl6PwX0Q/1wdWtHJcZ7Ea5tns0s=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@ -316,8 +338,6 @@ github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c=
github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/hcl v1.0.1-vault-7 h1:ag5OxFVy3QYTFTJODRzTKVZ6xvdfLLCA1cy/Y6xGI0I=
github.com/hashicorp/hcl v1.0.1-vault-7/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM=
github.com/hashicorp/memberlist v0.5.2 h1:rJoNPWZ0juJBgqn48gjy59K5H4rNgvUoM1kUD7bXiuI=
github.com/hashicorp/memberlist v0.5.2/go.mod h1:Ri9p/tRShbjYnpNf4FFPXG7wxEGY4Nrcn6E7jrVa//4=
github.com/hashicorp/serf v0.10.2 h1:m5IORhuNSjaxeljg5DeQVDlQyVkhRIjJDimbkCa8aAc=
@ -327,7 +347,11 @@ github.com/icrowley/fake v0.0.0-20180203215853-4178557ae428 h1:Mo9W14pwbO9VfRe+y
github.com/icrowley/fake v0.0.0-20180203215853-4178557ae428/go.mod h1:uhpZMVGznybq1itEKXj6RYw9I71qK4kH+OGMjRC4KEo=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA=
github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/jsimonetti/rtnetlink/v2 v2.0.1 h1:xda7qaHDSVOsADNouv7ukSuicKZO7GgVUCXxpaIEIlM=
github.com/jsimonetti/rtnetlink/v2 v2.0.1/go.mod h1:7MoNYNbb3UaDHtF8udiJo/RH6VsTKP1pqKLUTVCvToE=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
@ -356,8 +380,8 @@ github.com/krishicks/yaml-patch v0.0.10 h1:H4FcHpnNwVmw8u0MjPRjWyIXtco6zM2F78t+5
github.com/krishicks/yaml-patch v0.0.10/go.mod h1:Sm5TchwZS6sm7RJoyg87tzxm2ZcKzdRE4Q7TjNhPrME=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/magiconair/properties v1.8.9 h1:nWcCbLq1N2v/cpNsy5WvQ37Fb+YElfq20WJ/a8RkpQM=
github.com/magiconair/properties v1.8.9/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
@ -373,6 +397,10 @@ github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/mdlayher/netlink v1.7.2 h1:/UtM3ofJap7Vl4QWCPDGXY8d3GIY2UGSDbK+QWmY8/g=
github.com/mdlayher/netlink v1.7.2/go.mod h1:xraEF7uJbxLhc5fpHL4cPe221LI2bdttWlU+ZGLfQSw=
github.com/mdlayher/socket v0.4.1 h1:eM9y2/jlbs1M615oshPQOHZzj6R6wMT7bX5NPiQvn2U=
github.com/mdlayher/socket v0.4.1/go.mod h1:cAqeGjoufqdxWkD7DkpyS+wcefOtmu5OQ8KuoJGIReA=
github.com/miekg/dns v1.1.56 h1:5imZaSeoRNvpM9SzWNhEcP9QliKiz20/dA2QabIGVnE=
github.com/miekg/dns v1.1.56/go.mod h1:cRm6Oo2C8TY9ZS/TqsSrseAcncm74lfK5G+ikN2SWWY=
github.com/minio/minio-go v0.0.0-20190131015406-c8a261de75c1 h1:jw16EimP5oAEM/2wt+SiEUov/YDyTCTDuPtIKgQIvk0=
@ -381,6 +409,8 @@ github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/moby/sys/userns v0.1.0 h1:tVLXkFOxVu9A64/yh59slHVv9ahO9UIev4JZusOLG/g=
github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
@ -409,8 +439,10 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.23.0 h1:/oxKu9c2HVap+F3PfKort2Hw5DEU+HGlW8n+tguWsys=
github.com/onsi/gomega v1.23.0/go.mod h1:Z/NWtiqwBrwUt4/2loMmHL63EDLnYHmVbuBpDr2vQAg=
github.com/opentracing-contrib/go-grpc v0.1.1 h1:Ws7IN1zyiL1DFqKQPhRXuKe5pLYzMfdxnC1qtajE2PE=
github.com/opentracing-contrib/go-grpc v0.1.1/go.mod h1:Nu6sz+4zzgxXu8rvKfnwjBEmHsuhTigxRwV2RhELrS8=
github.com/opencontainers/runtime-spec v1.2.0 h1:z97+pHb3uELt/yiAWD691HNHQIF07bE7dzrbT927iTk=
github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
github.com/opentracing-contrib/go-grpc v0.1.2 h1:MP16Ozc59kqqwn1v18aQxpeGZhsBanJ2iurZYaQSZ+g=
github.com/opentracing-contrib/go-grpc v0.1.2/go.mod h1:glU6rl1Fhfp9aXUHkE36K2mR4ht8vih0ekOVlWKEUHM=
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
@ -420,14 +452,14 @@ github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0Mw
github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c h1:dAMKvw0MlJT1GshSTtih8C2gDs04w8dReiOGXrGLNoY=
github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM=
github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pires/go-proxyproto v0.8.0 h1:5unRmEAPbHXHuLjDg01CxJWf91cw3lKHc/0xzKpXEe0=
github.com/pires/go-proxyproto v0.8.0/go.mod h1:iknsfgnH8EkjrMeMyvfKByp9TiBZCKZM0jx2xmKqnVY=
github.com/pires/go-proxyproto v0.8.1 h1:9KEixbdJfhrbtjpz/ZwCdWDD2Xem0NZ38qMYaASJgp0=
github.com/pires/go-proxyproto v0.8.1/go.mod h1:ZKAAyp3cgy5Y5Mo4n9AlScrkCZwUy0g3Jf+slqQVcuU=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@ -440,19 +472,21 @@ github.com/planetscale/vtprotobuf v0.6.1-0.20241121165744-79df5c4772f2/go.mod h1
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
github.com/prometheus/client_golang v1.21.1 h1:DOvXXTqVzvkIewV/CDPFdejpMCGeMcbGCQ8YOmu+Ibk=
github.com/prometheus/client_golang v1.21.1/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg=
github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q=
github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk=
github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE=
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
@ -464,8 +498,8 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT
github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg=
github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is=
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/richardartoul/molecule v1.0.1-0.20240531184615-7ca0df43c0b3 h1:4+LEVOB87y175cLJC/mbsgKmoDOjrBldtXvioEy96WY=
@ -480,18 +514,20 @@ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk=
github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc=
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
github.com/sagikazarmark/locafero v0.9.0 h1:GbgQGNtTrEmddYDSAH9QLRyfAHY12md+8YFTqyMTC9k=
github.com/sagikazarmark/locafero v0.9.0/go.mod h1:UBUyz37V+EdMS3hDF3QWIiVr/2dPrx49OMO0Bn0hJqk=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/secure-systems-lab/go-securesystemslib v0.9.0 h1:rf1HIbL64nUpEIZnjLZ3mcNEL9NBPB0iuVjyxvq3LZc=
github.com/secure-systems-lab/go-securesystemslib v0.9.0/go.mod h1:DVHKMcZ+V4/woA/peqr+L0joiRXbPpQ042GgJckkFgw=
github.com/shirou/gopsutil/v4 v4.25.4 h1:cdtFO363VEOOFrUCjZRh4XVJkb548lyF0q0uTeMqYPw=
github.com/shirou/gopsutil/v4 v4.25.4/go.mod h1:xbuxyoZj+UsgnZrENu3lQivsngRR5BdjbJwf2fv4szA=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/sjmudd/stopwatch v0.1.1 h1:x45OvxFB5OtCkjvYtzRF5fWB857Jzjjk84Oyd5C5ebw=
github.com/sjmudd/stopwatch v0.1.1/go.mod h1:BLw0oIQJ1YLXBO/q9ufK/SgnKBVIkC2qrm6uy78Zw6U=
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
@ -502,18 +538,20 @@ github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9yS
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA=
github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo=
github.com/spf13/cast v1.8.0 h1:gEN9K4b8Xws4EX0+a0reLmhq8moKn7ntRlQYgjPeCDk=
github.com/spf13/cast v1.8.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI=
github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8WS0hE=
github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
@ -542,8 +580,12 @@ github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JT
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4=
github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
github.com/tinylib/msgp v1.2.5 h1:WeQg1whrXRFiZusidTQqzETkRpGjFjcIhW6uqWH09po=
github.com/tinylib/msgp v1.2.5/go.mod h1:ykjzy2wzgrlvpDCRc4LA8UXy6D8bzMSuAF3WD57Gok0=
github.com/tinylib/msgp v1.3.0 h1:ULuf7GPooDaIlbyvgAxBV/FI7ynli6LZ1/nVUNu+0ww=
github.com/tinylib/msgp v1.3.0/go.mod h1:ykjzy2wzgrlvpDCRc4LA8UXy6D8bzMSuAF3WD57Gok0=
github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU=
github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI=
github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk=
github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o=
github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
@ -556,14 +598,18 @@ github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDf
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
github.com/z-division/go-zookeeper v1.0.0 h1:ULsCj0nP6+U1liDFWe+2oEF6o4amixoDcDlwEUghVUY=
github.com/z-division/go-zookeeper v1.0.0/go.mod h1:6X4UioQXpvyezJJl4J9NHAJKsoffCwy5wCaaTktXjOA=
go.etcd.io/etcd/api/v3 v3.5.19 h1:w3L6sQZGsWPuBxRQ4m6pPP3bVUtV8rjW033EGwlr0jw=
go.etcd.io/etcd/api/v3 v3.5.19/go.mod h1:QqKGViq4KTgOG43dr/uH0vmGWIaoJY3ggFi6ZH0TH/U=
go.etcd.io/etcd/client/pkg/v3 v3.5.19 h1:9VsyGhg0WQGjDWWlDI4VuaS9PZJGNbPkaHEIuLwtixk=
go.etcd.io/etcd/client/pkg/v3 v3.5.19/go.mod h1:qaOi1k4ZA9lVLejXNvyPABrVEe7VymMF2433yyRQ7O0=
go.etcd.io/etcd/client/v3 v3.5.19 h1:+4byIz6ti3QC28W0zB0cEZWwhpVHXdrKovyycJh1KNo=
go.etcd.io/etcd/client/v3 v3.5.19/go.mod h1:FNzyinmMIl0oVsty1zA3hFeUrxXI/JpEnz4sG+POzjU=
github.com/zeebo/errs v1.4.0 h1:XNdoD/RRMKP7HD0UhJnIzUy74ISdGGxURlYG8HSWSfM=
github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4=
go.etcd.io/etcd/api/v3 v3.5.21 h1:A6O2/JDb3tvHhiIz3xf9nJ7REHvtEFJJ3veW3FbCnS8=
go.etcd.io/etcd/api/v3 v3.5.21/go.mod h1:c3aH5wcvXv/9dqIw2Y810LDXJfhSYdHQ0vxmP3CCHVY=
go.etcd.io/etcd/client/pkg/v3 v3.5.21 h1:lPBu71Y7osQmzlflM9OfeIV2JlmpBjqBNlLtcoBqUTc=
go.etcd.io/etcd/client/pkg/v3 v3.5.21/go.mod h1:BgqT/IXPjK9NkeSDjbzwsHySX3yIle2+ndz28nVsjUs=
go.etcd.io/etcd/client/v3 v3.5.21 h1:T6b1Ow6fNjOLOtM0xSoKNQt1ASPCLWrF9XMHcH9pEyY=
go.etcd.io/etcd/client/v3 v3.5.21/go.mod h1:mFYy67IOqmbRf/kRUvsHixzo3iG+1OF2W2+jVIQRAnU=
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
go.opentelemetry.io/contrib/detectors/gcp v1.35.0 h1:bGvFt68+KTiAKFlacHW6AhA56GF2rS0bdD3aJYEnmzA=
@ -574,8 +620,8 @@ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRND
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ=
go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ=
go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y=
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc=
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I=
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.35.0 h1:PB3Zrjs1sG1GBX51SXyTSoOTqcDglmsk7nT6tkKPb/k=
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.35.0/go.mod h1:U2R3XyVPzn0WX7wOIypPuptulsMcPDPs/oiSVOMVnHY=
go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M=
go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE=
go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY=
@ -606,11 +652,11 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM=
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
@ -639,12 +685,12 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc=
golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -653,8 +699,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -664,6 +710,7 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -677,6 +724,7 @@ golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -688,18 +736,21 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0=
golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@ -713,8 +764,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU=
golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ=
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@ -723,26 +774,26 @@ golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhS
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0=
gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o=
google.golang.org/api v0.226.0 h1:9A29y1XUD+YRXfnHkO66KggxHBZWg9LsTGqm7TkUvtQ=
google.golang.org/api v0.226.0/go.mod h1:WP/0Xm4LVvMOCldfvOISnWquSRWbG2kArDZcg+W2DbY=
google.golang.org/api v0.233.0 h1:iGZfjXAJiUFSSaekVB7LzXl6tRfEKhUN7FkZN++07tI=
google.golang.org/api v0.233.0/go.mod h1:TCIVLLlcwunlMpZIhIp7Ltk77W+vUSdUKAAIlbxY44c=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20250313205543-e70fdf4c4cb4 h1:kCjWYliqPA8g5z87mbjnf/cdgQqMzBfp9xYre5qKu2A=
google.golang.org/genproto v0.0.0-20250313205543-e70fdf4c4cb4/go.mod h1:SqIx1NV9hcvqdLHo7uNZDS5lrUJybQ3evo3+z/WBfA0=
google.golang.org/genproto/googleapis/api v0.0.0-20250313205543-e70fdf4c4cb4 h1:IFnXJq3UPB3oBREOodn1v1aGQeZYQclEmvWRMN0PSsY=
google.golang.org/genproto/googleapis/api v0.0.0-20250313205543-e70fdf4c4cb4/go.mod h1:c8q6Z6OCqnfVIqUFJkCzKcrj8eCvUrz+K4KRzSTuANg=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4 h1:iK2jbkWL86DXjEx0qiHcRE9dE4/Ahua5k6V8OWFb//c=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250313205543-e70fdf4c4cb4/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I=
google.golang.org/genproto v0.0.0-20250512202823-5a2f75b736a9 h1:0DnDgelxbooHLt0nyiPeCP0zrH/RL+UG558i1oNU1xE=
google.golang.org/genproto v0.0.0-20250512202823-5a2f75b736a9/go.mod h1:IuQRZAKkz+Mhos3ZZ0+hcGaTmLuuTuGw344uzwztGl8=
google.golang.org/genproto/googleapis/api v0.0.0-20250512202823-5a2f75b736a9 h1:WvBuA5rjZx9SNIzgcU53OohgZy6lKSus++uY4xLaWKc=
google.golang.org/genproto/googleapis/api v0.0.0-20250512202823-5a2f75b736a9/go.mod h1:W3S/3np0/dPWsWLi1h/UymYctGXaGBM2StwzD0y140U=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250512202823-5a2f75b736a9 h1:IkAfh6J/yllPtpYFU0zZN1hUPYdT0ogkBT/9hMxHjvg=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250512202823-5a2f75b736a9/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg=
google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=
google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA=
google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 h1:F29+wU6Ee6qgu9TddPgooOdaqsxTMunOoj8KA5yuS5A=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1/go.mod h1:5KF+wpkbTSbGcR9zteSqZV6fqFOWBl4Yde8En8MryZA=
google.golang.org/grpc/examples v0.0.0-20250204041003-947e2a4be2ba h1:w92RAwwmP8PEc4O6JrGzSoUrL/eE53n2wIG7NAcedM8=
@ -754,8 +805,8 @@ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miE
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/DataDog/dd-trace-go.v1 v1.69.1 h1:grTElrPaCfxUsrJjyPLHlVPbmlKVzWMxVdcBrGZSzEk=
gopkg.in/DataDog/dd-trace-go.v1 v1.69.1/go.mod h1:U9AOeBHNAL95JXcd/SPf4a7O5GNeF/yD13sJtli/yaU=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
@ -788,26 +839,26 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
modernc.org/cc/v4 v4.24.4 h1:TFkx1s6dCkQpd6dKurBNmpo+G8Zl4Sq/ztJ+2+DEsh0=
modernc.org/cc/v4 v4.24.4/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0=
modernc.org/ccgo/v4 v4.23.16 h1:Z2N+kk38b7SfySC1ZkpGLN2vthNJP1+ZzGZIlH7uBxo=
modernc.org/ccgo/v4 v4.23.16/go.mod h1:nNma8goMTY7aQZQNTyN9AIoJfxav4nvTnvKThAeMDdo=
modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE=
modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ=
modernc.org/gc/v2 v2.6.3 h1:aJVhcqAte49LF+mGveZ5KPlsp4tdGdAOT4sipJXADjw=
modernc.org/gc/v2 v2.6.3/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito=
modernc.org/libc v1.61.13 h1:3LRd6ZO1ezsFiX1y+bHd1ipyEHIJKvuprv0sLTBwLW8=
modernc.org/libc v1.61.13/go.mod h1:8F/uJWL/3nNil0Lgt1Dpz+GgkApWh04N3el3hxJcA6E=
modernc.org/cc/v4 v4.26.1 h1:+X5NtzVBn0KgsBCBe+xkDC7twLb/jNVj9FPgiwSQO3s=
modernc.org/cc/v4 v4.26.1/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0=
modernc.org/ccgo/v4 v4.28.0 h1:rjznn6WWehKq7dG4JtLRKxb52Ecv8OUGah8+Z/SfpNU=
modernc.org/ccgo/v4 v4.28.0/go.mod h1:JygV3+9AV6SmPhDasu4JgquwU81XAKLd3OKTUDNOiKE=
modernc.org/fileutil v1.3.1 h1:8vq5fe7jdtEvoCf3Zf9Nm0Q05sH6kGx0Op2CPx1wTC8=
modernc.org/fileutil v1.3.1/go.mod h1:HxmghZSZVAz/LXcMNwZPA/DRrQZEVP9VX0V4LQGQFOc=
modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI=
modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito=
modernc.org/libc v1.65.6 h1:OhJUhmuJ6MVZdqL5qmnd0/my46DKGFhSX4WOR7ijfyE=
modernc.org/libc v1.65.6/go.mod h1:MOiGAM9lrMBT9L8xT1nO41qYl5eg9gCp9/kWhz5L7WA=
modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU=
modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg=
modernc.org/memory v1.8.2 h1:cL9L4bcoAObu4NkxOlKWBWtNHIsnnACGF/TbqQ6sbcI=
modernc.org/memory v1.8.2/go.mod h1:ZbjSvMO5NQ1A2i3bWeDiVMxIorXwdClKE/0SZ+BMotU=
modernc.org/memory v1.10.0 h1:fzumd51yQ1DxcOxSO+S6X7+QTuVU+n8/Aj7swYjFfC4=
modernc.org/memory v1.10.0/go.mod h1:/JP4VbVC+K5sU2wZi9bHoq2MAkCnrt2r98UGeSK7Mjw=
modernc.org/opt v0.1.4 h1:2kNGMRiUjrp4LcaPuLY2PzUfqM/w9N23quVwhKt5Qm8=
modernc.org/opt v0.1.4/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns=
modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w=
modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE=
modernc.org/sqlite v1.36.1 h1:bDa8BJUH4lg6EGkLbahKe/8QqoF8p9gArSc6fTqYhyQ=
modernc.org/sqlite v1.36.1/go.mod h1:7MPwH7Z6bREicF9ZVUR78P1IKuxfZ8mRIDHD0iD+8TU=
modernc.org/sqlite v1.37.0 h1:s1TMe7T3Q3ovQiK2Ouz4Jwh7dw4ZDqbebSDTlSJdfjI=
modernc.org/sqlite v1.37.0/go.mod h1:5YiWv+YviqGMuGw4V+PNplcyaJ5v+vQd7TQOgkACoJM=
modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0=
modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A=
modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=

View File

@ -23,7 +23,7 @@ limitations under the License.
// own policy as a package that calls RegisterPolicy(), and compile it into all
// Vitess binaries that you use.
//
// By default (when no security_policy is specified), everyone is allowed to do
// By default (when no security-policy is specified), everyone is allowed to do
// anything.
//
// For convenience, there are two other built-in policies that also do NOT do
@ -43,6 +43,7 @@ import (
"github.com/spf13/pflag"
"vitess.io/vitess/go/vt/log"
"vitess.io/vitess/go/vt/utils"
)
// This is a list of predefined roles. Applications are free
@ -70,7 +71,7 @@ type Policy interface {
}
func RegisterFlags(fs *pflag.FlagSet) {
fs.StringVar(&securityPolicy, "security_policy", securityPolicy, "the name of a registered security policy to use for controlling access to URLs - empty means allow all for anyone (built-in policies: deny-all, read-only)")
utils.SetFlagStringVar(fs, &securityPolicy, "security-policy", securityPolicy, "the name of a registered security policy to use for controlling access to URLs - empty means allow all for anyone (built-in policies: deny-all, read-only)")
}
// RegisterPolicy registers a security policy. This function must be called
@ -94,7 +95,7 @@ func savePolicy() {
currentPolicy = policy
return
}
log.Warningf("security_policy %q not found; using fallback policy (deny-all)", securityPolicy)
log.Warningf("security-policy %q not found; using fallback policy (deny-all)", securityPolicy)
currentPolicy = denyAllPolicy{}
}

View File

@ -106,8 +106,8 @@ func TestRegisterFlags(t *testing.T) {
RegisterFlags(testFs)
securityPolicyFlag := testFs.Lookup("security_policy")
assert.NotNil(t, securityPolicyFlag, "no security_policy flag is registered")
securityPolicyFlag := testFs.Lookup("security-policy")
assert.NotNil(t, securityPolicyFlag, "no security-policy flag is registered")
// Check the default value of the flag
want := "test"

View File

@ -21,7 +21,7 @@ import (
"net/http"
)
var errDenyAll = errors.New("not allowed: deny-all security_policy enforced")
var errDenyAll = errors.New("not allowed: deny-all security-policy enforced")
// denyAllPolicy rejects all access.
type denyAllPolicy struct{}

View File

@ -21,7 +21,7 @@ import (
"net/http"
)
var errReadOnly = errors.New("not allowed: read-only security_policy enforced")
var errReadOnly = errors.New("not allowed: read-only security-policy enforced")
// readOnlyPolicy allows DEBUGGING and MONITORING roles for everyone,
// while denying any other roles (e.g. ADMIN) for everyone.

View File

@ -0,0 +1,14 @@
---
title:
series:
---
##
### Options
```
-h, --help help for this command
```

View File

@ -33,8 +33,8 @@ var Init = &cobra.Command{
"The MySQL version and flavor will be auto-detected, with a minimal configuration file applied.",
Example: `mysqlctl \
--alsologtostderr \
--tablet_uid 101 \
--mysql_port 12345 \
--tablet-uid 101 \
--mysql-port 12345 \
init`,
Args: cobra.NoArgs,
RunE: commandInit,

Some files were not shown because too many files have changed in this diff Show More