tx throttler: remove unused topology watchers#14412
tx throttler: remove unused topology watchers#14412GuptaManan100 merged 4 commits intovitessio:mainfrom
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
|
| 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.
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.
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.
I've added a line in the release notes for these.
There was a problem hiding this comment.
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.
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>
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