-
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
tx throttler: remove unused topology watchers #14412
Conversation
Signed-off-by: deepthi <deepthi@planetscale.com>
Signed-off-by: deepthi <deepthi@planetscale.com>
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
|
@@ -204,8 +199,7 @@ func NewTxThrottler(env tabletenv.Env, topoServer *topo.Server) TxThrottler { | |||
config: config, | |||
topoServer: topoServer, | |||
throttlerRunning: env.Exporter().NewGauge(TxThrottlerName+"Running", "transaction throttler running state"), | |||
topoWatchers: env.Exporter().NewGaugesWithSingleLabel(TxThrottlerName+"TopoWatchers", "transaction throttler topology watchers", "cell"), | |||
healthChecksReadTotal: env.Exporter().NewCountersWithMultiLabels(TxThrottlerName+"HealthchecksRead", "transaction throttler healthchecks read", | |||
topoWatchers: env.Exporter().NewGaugesWithSingleLabel(TxThrottlerName+"TopoWatchers", "DEPRECATED: transaction throttler topology watchers", "cell"), healthChecksReadTotal: env.Exporter().NewCountersWithMultiLabels(TxThrottlerName+"HealthchecksRead", "transaction throttler healthchecks read", |
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.
Looks like a newline here was removed which makes the diff a bit confusing?
Also, what is the general value / policy around metrics deprecations? Is it useful / expected for folks to have empty metrics? Does that have value over removing the metric?
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.
I'll add back the newline. I went back and forth between deleting the metric versus deprecating. We need to deprecate so that people's existing metrics pipelines don't break without warning.
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.
I've added a line in the release notes for these.
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.
We need to deprecate so that people's existing metrics pipelines don't break without warning.
But doesn't a metric that flatlines break things anyway? I think it's also possible to argue that having a metric go to zero is more confusing / problematic than removing it as a signal to the user that the value is (no longer) useful? I think this is tricky anyway, we can argue both ways but I don't think this is as clear cut as say a command line flag that is deprecated?
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.
Honestly I don't know if anyone is even using this metric. It's not much effort to keep it deprecated and delete it in the next release, so I ended up choosing that as the "safer" approach.
Signed-off-by: deepthi <deepthi@planetscale.com>
Signed-off-by: deepthi <deepthi@planetscale.com>
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
Signed-off-by: deepthi <deepthi@planetscale.com>
…pt. 3 + ci fixes (#351) * txthrottler: add metrics for topoWatcher and healthCheckStreamer (vitessio#13153) Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * Replace deprecated `github.com/golang/mock` with `go.uber.org/mock` (vitessio#13512) Signed-off-by: Eng Zer Jun <engzerjun@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> * Per workload TxThrottler metrics (vitessio#13526) Signed-off-by: Eduardo J. Ortega U <5791035+ejortegau@users.noreply.github.com> * tx throttler: healthcheck all cells if `--tx-throttler-healthcheck-cells` is undefined (vitessio#12477) Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> Co-authored-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> * Add dry-run/monitoring-only mode for TxThrottler (vitessio#13604) Signed-off-by: Eduardo J. Ortega U <5791035+ejortegau@users.noreply.github.com> Signed-off-by: Eduardo J. Ortega U. <5791035+ejortegau@users.noreply.github.com> * `txthrottler`: remove `txThrottlerConfig` struct, rely on `tabletenv` (vitessio#13624) Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * tx throttler: remove unused topology watchers (vitessio#14412) Signed-off-by: deepthi <deepthi@planetscale.com> * tx_throttler: delete topo watcher metric instead of deprecating (vitessio#14445) Signed-off-by: deepthi <deepthi@planetscale.com> * TxThrottler: dont throttle unless lag (vitessio#14789) Signed-off-by: Eduardo J. Ortega U <5791035+ejortegau@users.noreply.github.com> * go test -v Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * add mutex to flaky parseFlags() Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * revert tweaks for flaky tests Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * fix protojson err Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * make vtadmin_web_proto_types Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> * remove debug t.Logf(...) Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> --------- Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com> Signed-off-by: Eng Zer Jun <engzerjun@gmail.com> Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> Signed-off-by: Eduardo J. Ortega U <5791035+ejortegau@users.noreply.github.com> Signed-off-by: Eduardo J. Ortega U. <5791035+ejortegau@users.noreply.github.com> Signed-off-by: deepthi <deepthi@planetscale.com> Co-authored-by: Eng Zer Jun <engzerjun@gmail.com> Co-authored-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> Co-authored-by: Eduardo J. Ortega U <5791035+ejortegau@users.noreply.github.com> Co-authored-by: Deepthi Sigireddi <deepthi@planetscale.com>
Description
We had topology watchers in TxThrottler even though they are no longer needed or used. Healthcheck already encapsulates a topology watcher per cell. Cleaning this up in preparation for the actual work needed to fix #14277.
I have also rewritten most of the comments in healthcheck.go because a lot of them were obsolete or incorrect.
Related Issue(s)
#14277
Checklist
Deployment Notes