-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix race in replicationLagModule
of go/vt/throttle
#16078
Fix race in replicationLagModule
of go/vt/throttle
#16078
Conversation
Review ChecklistHello reviewers! 👋 Please follow this checklist when reviewing this Pull Request. General
Tests
Documentation
New flags
If a workflow is added or modified:
Backward compatibility
|
e0ced54
to
1455402
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #16078 +/- ##
==========================================
- Coverage 69.43% 69.42% -0.01%
==========================================
Files 1571 1571
Lines 203195 203321 +126
==========================================
+ Hits 141079 141157 +78
- Misses 62116 62164 +48 ☔ View full report in Codecov by Sentry. |
@@ -76,9 +82,35 @@ func (c *replicationLagCache) add(r replicationLagRecord) { | |||
entry.add(r) | |||
} | |||
|
|||
// maxLag returns the maximum replication lag for the entries in cache. | |||
func (c *replicationLagCache) maxLag() (maxLag uint32) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved this mostly-unchanged from throttler.go
(.MaxLag(...)
) instead of holding the mu sync.Mutex
lock from a different struct
.MaxLag()
now calls this func
} | ||
|
||
return maxLag | ||
return cache.maxLag() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved into replicationLagCache
I think I figured out why we only see this on v15 + v16-v19 This |
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
d3db9fd
to
f53e089
Compare
Squashed commits to make this cherry-pick-able |
FWIW, we do squash and merge by default so you can always cherry-pick the squashed commit that is made to the upstream branch. |
Right 👍. Here my goal is to cherry-pick this to |
This PR is being marked as stale because it has been open for 30 days with no activity. To rectify, you may do any of the following:
If no action is taken within 7 days, this PR will be closed. |
@mattlord yes, it turns out the mutex is only used:
In our environment this means the mutex is held about 5-7~ times per second
@shlomi-noach agreed, I think we're lucky the max lag value is cached 👍 As for the use of I also tried For now I'll address the other PR comments |
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Adding backport tags as discussed offline with @deepthi as this addresses a crash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! I only had some minor nits. Thanks, @timvaillancourt
Co-authored-by: Matt Lord <mattalord@gmail.com> Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> Co-authored-by: Matt Lord <mattalord@gmail.com>
…vitessio#16078) (vitessio#16899) Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Tim Vaillancourt <tim@timvaillancourt.com>
* [release-19.0] Support passing filters to `discovery.NewHealthCheck(...)` (vitessio#16170) (vitessio#16871) Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * [release-19.0] Fix race in `replicationLagModule` of `go/vt/throttle` (vitessio#16078) (vitessio#16899) Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Tim Vaillancourt <tim@timvaillancourt.com> * restore filter tags that `git cherry-pick` reverted Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> --------- Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
* [release-19.0] Bump to `v19.0.5-SNAPSHOT` after the `v19.0.4` release (vitessio#15889) Signed-off-by: Andres Taylor <andres@planetscale.com> * [release-19.0] fix: handle info_schema routing (vitessio#15899) (vitessio#15906) Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] Update VTAdmin build script (vitessio#15839) (vitessio#15850) Signed-off-by: notfelineit <notfelineit@gmail.com> Signed-off-by: <> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Frances Thai <francesthai@Francess-MacBook-Pro.local> * [release-19.0] Update env.sh so that is does not error when running on Mac (vitessio#15835) (vitessio#15915) Signed-off-by: bddicken <bddicken@gmail.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] fix: derived table join column expression to be part of add join predicate on rewrite (vitessio#15956) (vitessio#15960) Signed-off-by: Harshit Gangal <harshit@planetscale.com> Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Harshit Gangal <harshit@planetscale.com> Co-authored-by: Andres Taylor <andres@planetscale.com> * [release-19.0] fix: insert on duplicate update to add list argument in the bind variables map (vitessio#15961) (vitessio#15967) Signed-off-by: Harshit Gangal <harshit@planetscale.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Harshit Gangal <harshit@planetscale.com> * [release-19.0] test: Cleaner plan tests output (vitessio#15922) (vitessio#15964) Signed-off-by: Andres Taylor <andres@planetscale.com> * [release-19.0] connpool: Allow time out during shutdown (vitessio#15979) (vitessio#16003) Signed-off-by: Vicent Marti <vmg@strn.cat> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] fix: remove keyspace when merging subqueries (vitessio#16019) (vitessio#16027) Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] Add DCO workflow (vitessio#16052) (vitessio#16056) Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] Upgrade the Golang version to `go1.22.4` (vitessio#16061) 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> * [release-19.0] Remove DCO workaround (vitessio#16087) (vitessio#16091) Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] Do not load table stats when booting `vttablet`. (vitessio#15715) (vitessio#16100) Signed-off-by: Arthur Schreiber <arthurschreiber@github.com> Co-authored-by: Arthur Schreiber <arthurschreiber@github.com> * [release-19.0] Add timeout to all the contexts used for RPC calls in vtorc (vitessio#15991) (vitessio#16103) Signed-off-by: Manan Gupta <manan@planetscale.com> * [release-19.0] Update braces package (vitessio#16115) (vitessio#16118) Signed-off-by: Frances Thai <notfelineit@gmail.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] fix: order by subquery planning (vitessio#16049) (vitessio#16132) Co-authored-by: Harshit Gangal <harshit@planetscale.com> Co-authored-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr> * [release-19.0] Fix `vtexplain` not handling `UNION` queries with `weight_string` results correctly. (vitessio#16129) (vitessio#16157) Signed-off-by: Arthur Schreiber <arthurschreiber@github.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Arthur Schreiber <arthurschreiber@github.com> * Run more test on release-19 branch (vitessio#16152) Signed-off-by: Harshit Gangal <harshit@planetscale.com> * [release-19.0] Fix flakiness in `vtexplain` unit test case. (vitessio#16159) (vitessio#16167) Signed-off-by: Arthur Schreiber <arthurschreiber@github.com> Co-authored-by: Arthur Schreiber <arthurschreiber@github.com> * [release-19.0] Online DDL shadow table: rename referenced table name in self referencing FK (vitessio#16205) (vitessio#16207) Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] Fix flaky tests that use vtcombo (vitessio#16178) (vitessio#16212) Signed-off-by: Manan Gupta <manan@planetscale.com> Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com> Co-authored-by: Manan Gupta <manan@planetscale.com> * [release-19.0] Handle Nullability for Columns from Outer Tables (vitessio#16174) (vitessio#16185) Co-authored-by: Andrés Taylor <andres@planetscale.com> * [release-19.0] VDiff CLI: Fix VDiff `show` bug (vitessio#16177) (vitessio#16198) Signed-off-by: Rohit Nayak <rohit@planetscale.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] VReplication Workflow: set state correctly when restarting workflow streams in the copy phase (vitessio#16217) (vitessio#16222) Signed-off-by: Rohit Nayak <rohit@planetscale.com> Co-authored-by: Rohit Nayak <rohit@planetscale.com> * [release-19.0] vtctldclient: Apply (Shard | Keyspace| Table) Routing Rules commands don't work (vitessio#16096) (vitessio#16124) Signed-off-by: Rohit Nayak <rohit@planetscale.com> Co-authored-by: Rohit Nayak <rohit@planetscale.com> * [release-19.0] Fix vtgate crash in group concat (vitessio#16254) Signed-off-by: Manan Gupta <manan@planetscale.com> * [release-19.0] Fix Incorrect Optimization with LIMIT and GROUP BY (vitessio#16263) (vitessio#16267) Signed-off-by: Andres Taylor <andres@planetscale.com> Signed-off-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> Co-authored-by: Andres Taylor <andres@planetscale.com> * [release-19.0] Fix the `v19.0.0` release notes and use the `vitess/lite` image for the MySQL container (vitessio#16282) (vitessio#16285) Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Co-authored-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> * [release-19.0] VReplication: Properly handle target shards w/o a primary in Reshard (vitessio#16283) (vitessio#16291) Signed-off-by: Matt Lord <mattalord@gmail.com> Co-authored-by: Matt Lord <mattalord@gmail.com> * [release-19.0] CI: Fix for xtrabackup install failures (vitessio#16329) (vitessio#16332) Signed-off-by: Matt Lord <mattalord@gmail.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Matt Lord <mattalord@gmail.com> * [release-19.0] Upgrade the Golang version to `go1.22.5` (vitessio#16322) 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> * [release-19.0] Fix the install dependencies script in Docker (vitessio#16340) (vitessio#16346) Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] planner: Handle ORDER BY inside derived tables (vitessio#16353) (vitessio#16359) Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Andres Taylor <andres@planetscale.com> * [release-19.0] Fix Join Predicate Cleanup Bug in Route Merging (vitessio#16386) (vitessio#16389) Signed-off-by: Andres Taylor <andres@planetscale.com> Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Co-authored-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr> * [release-19.0] fix issue with aggregation inside of derived tables (vitessio#16366) (vitessio#16384) Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Andrés Taylor <andres@planetscale.com> * [release-19.0] Use default schema reload config values when config file is empty (vitessio#16393) (vitessio#16410) Signed-off-by: Matt Lord <mattalord@gmail.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] Fix subquery planning having an aggregation that is used in order by as long as we can merge it all into a single route (vitessio#16402) (vitessio#16407) Signed-off-by: Manan Gupta <manan@planetscale.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] Fix panic in schema tracker in presence of keyspace routing rules (vitessio#16383) (vitessio#16406) Signed-off-by: Manan Gupta <manan@planetscale.com> * [release-19] Vitess tester workflow (vitessio#16127) (vitessio#16418) Signed-off-by: Manan Gupta <manan@planetscale.com> Signed-off-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> Co-authored-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> * [release-19.0] feat: add a LIMIT 1 on EXISTS subqueries to limit network overhead (vitessio#16153) (vitessio#16191) Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Andrés Taylor <andres@planetscale.com> * [release-19.0] Code Freeze for `v19.0.5` (vitessio#16448) Signed-off-by: Andres Taylor <andres@planetscale.com> * [release-19.0] Release of `v19.0.5` (vitessio#16450) Signed-off-by: Andres Taylor <andres@planetscale.com> * [release-19.0] Bump to `v19.0.6-SNAPSHOT` after the `v19.0.5` release (vitessio#16456) Signed-off-by: Andres Taylor <andres@planetscale.com> * [release-19.0] fix: reference table join merge (vitessio#16488) (vitessio#16496) Signed-off-by: Harshit Gangal <harshit@planetscale.com> Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Harshit Gangal <harshit@planetscale.com> Co-authored-by: Andres Taylor <andres@planetscale.com> * [release-19.0] Improve the queries upgrade/downgrade CI workflow by using same test code version as binary (vitessio#16494) (vitessio#16501) Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Co-authored-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr> * [release-19.0] bugfix: don't treat join predicates as filter predicates (vitessio#16472) (vitessio#16474) Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Andrés Taylor <andres@planetscale.com> * [release-19.0] VTAdmin: Upgrade websockets js package (vitessio#16504) (vitessio#16512) Signed-off-by: Matt Lord <mattalord@gmail.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Matt Lord <mattalord@gmail.com> * [release-19.0] bugfix: Allow cross-keyspace joins (vitessio#16520) (vitessio#16523) Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Andrés Taylor <andres@planetscale.com> * [release-19.0] simplify merging logic (vitessio#16525) (vitessio#16532) Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] Fix: Offset planning in hash joins (vitessio#16540) (vitessio#16551) Signed-off-by: Manan Gupta <manan@planetscale.com> Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com> Co-authored-by: Manan Gupta <manan@planetscale.com> * [release-19.0] Fix `RemoveTablet` during `TabletExternallyReparented` causing connection issues (vitessio#16371) (vitessio#16567) Signed-off-by: Arthur Schreiber <arthurschreiber@github.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * v19 backport: Throttler/vreplication: fix app name used by VPlayer (vitessio#16578) (vitessio#16580) Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> * [release-19.0] Upgrade the Golang version to `go1.22.6` (vitessio#16543) Signed-off-by: GitHub <noreply@github.com> Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Co-authored-by: frouioui <frouioui@users.noreply.github.com> Co-authored-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr> * v19 backport: Online DDL: avoid SQL's `CONVERT(...)`, convert programmatically if needed (vitessio#16603) Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> * [release-19.0] Remove mysql57/percona57 bootstrap images (vitessio#16620) (vitessio#16622) Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Co-authored-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> * [release-19.0] Fix query plan cache misses metric (vitessio#16562) (vitessio#16627) Signed-off-by: shanth96 <shanth.sathiyaseelan@shopify.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] VReplication workflows: retry "wrong tablet type" errors (vitessio#16645) (vitessio#16652) Signed-off-by: Rohit Nayak <rohit@planetscale.com> Co-authored-by: Rohit Nayak <57520317+rohit-nayak-ps@users.noreply.github.com> Co-authored-by: Rohit Nayak <rohit@planetscale.com> * [release-19.0] VStream API: validate that last PK has fields defined (vitessio#16478) (vitessio#16486) Signed-off-by: Rohit Nayak <rohit@planetscale.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Rohit Nayak <rohit@planetscale.com> * [release-19.0] Update micromatch to 4.0.8 (vitessio#16660) (vitessio#16666) Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] Replace ErrorContains checks with Error checks before running upgrade downgrade (vitessio#16700) Signed-off-by: Manan Gupta <manan@planetscale.com> * [release-19.0] JSON Encoding: Use Type_RAW for marshalling json (vitessio#16637) (vitessio#16681) Signed-off-by: Rohit Nayak <rohit@planetscale.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Rohit Nayak <rohit@planetscale.com> * [release-19.0] FindErrantGTIDs: superset is not an errant GTID situation (vitessio#16725) (vitessio#16728) Signed-off-by: deepthi <deepthi@planetscale.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] Move from 4-cores larger runners to `ubuntu-latest` (vitessio#16714) (vitessio#16717) Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Co-authored-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr> * [release-19.0] Upgrade the Golang version to `go1.22.7` (vitessio#16721) 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> * [release-19.0] Code Freeze for `v19.0.6` (vitessio#16745) Signed-off-by: Rohit Nayak <rohit@planetscale.com> * [release-19.0] Release of `v19.0.6` (vitessio#16747) Signed-off-by: Rohit Nayak <rohit@planetscale.com> * [release-19.0] Bump to `v19.0.7-SNAPSHOT` after the `v19.0.6` release (vitessio#16753) Signed-off-by: Rohit Nayak <rohit@planetscale.com> * [release-19.0] Remove mysql57 from docker images (vitessio#16763) Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * [release-19.0] VTAdmin: Address security vuln in path-to-regexp node pkg (vitessio#16770) (vitessio#16772) Signed-off-by: Matt Lord <mattalord@gmail.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Matt Lord <mattalord@gmail.com> * Backport: Fix ACL checks for CTEs (vitessio#16642) (vitessio#16776) Signed-off-by: Manan Gupta <manan@planetscale.com> Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com> * [release-19.0] VTAdmin: Fix serve-handler's path-to-regexp dep and add default schema refresh (vitessio#16778) (vitessio#16783) Signed-off-by: Matt Lord <mattalord@gmail.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Matt Lord <mattalord@gmail.com> * [release-19.0] Bump com.google.protobuf:protobuf-java from 3.24.3 to 3.25.5 in /java (vitessio#16809) (vitessio#16837) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [release-19.0] VTAdmin: Upgrade deps to address security vulns (vitessio#16843) (vitessio#16846) Signed-off-by: Matt Lord <mattalord@gmail.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Matt Lord <mattalord@gmail.com> * [release-19.0] Support passing filters to `discovery.NewHealthCheck(...)` (vitessio#16170) (vitessio#16871) Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * [release-19.0] Fail fast when builtinbackup fails to restore a single file (vitessio#16856) (vitessio#16867) Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Signed-off-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> Co-authored-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> Co-authored-by: Matt Lord <mattalord@gmail.com> Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr> * [release-19.0] Upgrade Golang to 1.22.8 (vitessio#16895) Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * [release-19.0] VTTablet: smartconnpool: notify all expired waiters (vitessio#16897) (vitessio#16901) Signed-off-by: Brendan Dougherty <brendan.dougherty@shopify.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] Fix race in `replicationLagModule` of `go/vt/throttle` (vitessio#16078) (vitessio#16899) Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Tim Vaillancourt <tim@timvaillancourt.com> * [release-19.0] Bump commons-io:commons-io from 2.7 to 2.14.0 in /java (vitessio#16889) (vitessio#16930) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [release-19.0] fixes bugs around expression precedence and LIKE (vitessio#16934 & vitessio#16649) (vitessio#16945) Signed-off-by: Andres Taylor <andres@planetscale.com> Signed-off-by: Manan Gupta <manan@planetscale.com> Co-authored-by: Andrés Taylor <andres@planetscale.com> Co-authored-by: Manan Gupta <manan@planetscale.com> Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com> * [release-19.0] Flaky test fixes (vitessio#16940) (vitessio#16958) Signed-off-by: Manan Gupta <manan@planetscale.com> Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com> * [release-19.0] fix: route engine to handle column truncation for execute after lookup (vitessio#16981) (vitessio#16984) Signed-off-by: Harshit Gangal <harshit@planetscale.com> Co-authored-by: Harshit Gangal <harshit@planetscale.com> * [release-19.0] bugfix: add HAVING columns inside derived tables (vitessio#16976) (vitessio#16978) Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Andrés Taylor <andres@planetscale.com> * [release-19.0] Fix deadlock between health check and topology watcher (vitessio#16995) (vitessio#17008) Signed-off-by: Manan Gupta <manan@planetscale.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] Add support for `MultiEqual` opcode for lookup vindexes. (vitessio#16975) (vitessio#17039) Signed-off-by: Arthur Schreiber <arthurschreiber@github.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> * [release-19.0] bugfix: treat EXPLAIN like SELECT (vitessio#17054) (vitessio#17056) Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Andrés Taylor <andres@planetscale.com> * [release-19.0] Delegate Column Availability Checks to MySQL for Single-Route Queries (vitessio#17077) (vitessio#17085) Signed-off-by: Harshit Gangal <harshit@planetscale.com> Signed-off-by: Andres Taylor <andres@planetscale.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Andres Taylor <andres@planetscale.com> Co-authored-by: Harshit Gangal <harshit@planetscale.com> * Bugfix for Panic on Joined Queries with Non-Authoritative Tables in Vitess 19.0 (vitessio#17103) Signed-off-by: Andres Taylor <andres@planetscale.com> * [release-19.0] Improve Schema Engine's TablesWithSize80 query (vitessio#17066) (vitessio#17089) Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> * [release-19.0] Fix unreachable errors when taking a backup (vitessio#17062) (vitessio#17110) Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Signed-off-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> Co-authored-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> Co-authored-by: Matt Lord <mattalord@gmail.com> Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr> * [release-19.0] Code Freeze for `v19.0.7` (vitessio#17148) Signed-off-by: Rohit Nayak <rohit@planetscale.com> Co-authored-by: Rohit Nayak <rohit@planetscale.com> * [release-19.0] Release of `v19.0.7` (vitessio#17149) Signed-off-by: Rohit Nayak <rohit@planetscale.com> Co-authored-by: Rohit Nayak <rohit@planetscale.com> * restore test conditional for v18 vttablet Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * restore more test conditional for v18 binaries Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * restore whitespace Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * Revert "[release-19.0] Improve the queries upgrade/downgrade CI workflow by using same test code version as binary (vitessio#16494) (vitessio#16501)" This reverts commit 25a80ac. * add missing table from cleanup Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> --------- Signed-off-by: Andres Taylor <andres@planetscale.com> Signed-off-by: notfelineit <notfelineit@gmail.com> Signed-off-by: <> Signed-off-by: bddicken <bddicken@gmail.com> Signed-off-by: Harshit Gangal <harshit@planetscale.com> Signed-off-by: Vicent Marti <vmg@strn.cat> Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> Signed-off-by: GitHub <noreply@github.com> Signed-off-by: Arthur Schreiber <arthurschreiber@github.com> Signed-off-by: Manan Gupta <manan@planetscale.com> Signed-off-by: Frances Thai <notfelineit@gmail.com> Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> Signed-off-by: Rohit Nayak <rohit@planetscale.com> Signed-off-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> Signed-off-by: Matt Lord <mattalord@gmail.com> Signed-off-by: shanth96 <shanth.sathiyaseelan@shopify.com> Signed-off-by: deepthi <deepthi@planetscale.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> Signed-off-by: Brendan Dougherty <brendan.dougherty@shopify.com> Co-authored-by: Andrés Taylor <andres@planetscale.com> Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com> Co-authored-by: Frances Thai <francesthai@Francess-MacBook-Pro.local> Co-authored-by: Harshit Gangal <harshit@planetscale.com> Co-authored-by: vitess-bot <139342327+vitess-bot@users.noreply.github.com> Co-authored-by: frouioui <frouioui@users.noreply.github.com> Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr> Co-authored-by: Arthur Schreiber <arthurschreiber@github.com> Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com> Co-authored-by: Manan Gupta <manan@planetscale.com> Co-authored-by: Rohit Nayak <rohit@planetscale.com> Co-authored-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com> Co-authored-by: Matt Lord <mattalord@gmail.com> Co-authored-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> Co-authored-by: Rohit Nayak <57520317+rohit-nayak-ps@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Description
This PR addresses a race discovered in
replicationLagModule
ofgo/vt/throttle
. The TL;DR is there are concurrent update/delete()
s and concurrent reads/iterations of a map without lockingThis race is causing
vttablet
s with--enable-tx-throttler
to crash after 40-100 minutes of running Vitess v15 w/txthrottler backports from v16-v19:This output includes the
TestThrottlerMaxLag
test I added in my first commit to reproduce the race: b83f057Related Issue(s)
Resolves #16102
Checklist
Deployment Notes