-
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 <[email protected]>
Signed-off-by: deepthi <[email protected]>
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 <[email protected]>
Signed-off-by: deepthi <[email protected]>
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
…r: remove unused topology watchers (vitessio#3578) * backport of 3563 * fix conflicts Signed-off-by: deepthi <[email protected]> --------- Signed-off-by: deepthi <[email protected]> Co-authored-by: deepthi <[email protected]>
Signed-off-by: deepthi <[email protected]>
…pt. 3 + ci fixes (#351) * txthrottler: add metrics for topoWatcher and healthCheckStreamer (vitessio#13153) Signed-off-by: Tim Vaillancourt <[email protected]> * Replace deprecated `github.com/golang/mock` with `go.uber.org/mock` (vitessio#13512) Signed-off-by: Eng Zer Jun <[email protected]> Signed-off-by: Shlomi Noach <[email protected]> Co-authored-by: Shlomi Noach <[email protected]> * Per workload TxThrottler metrics (vitessio#13526) Signed-off-by: Eduardo J. Ortega U <[email protected]> * tx throttler: healthcheck all cells if `--tx-throttler-healthcheck-cells` is undefined (vitessio#12477) Signed-off-by: Tim Vaillancourt <[email protected]> Co-authored-by: Shlomi Noach <[email protected]> * Add dry-run/monitoring-only mode for TxThrottler (vitessio#13604) Signed-off-by: Eduardo J. Ortega U <[email protected]> Signed-off-by: Eduardo J. Ortega U. <[email protected]> * `txthrottler`: remove `txThrottlerConfig` struct, rely on `tabletenv` (vitessio#13624) Signed-off-by: Tim Vaillancourt <[email protected]> * tx throttler: remove unused topology watchers (vitessio#14412) Signed-off-by: deepthi <[email protected]> * tx_throttler: delete topo watcher metric instead of deprecating (vitessio#14445) Signed-off-by: deepthi <[email protected]> * TxThrottler: dont throttle unless lag (vitessio#14789) Signed-off-by: Eduardo J. Ortega U <[email protected]> * go test -v Signed-off-by: Tim Vaillancourt <[email protected]> * add mutex to flaky parseFlags() Signed-off-by: Tim Vaillancourt <[email protected]> * revert tweaks for flaky tests Signed-off-by: Tim Vaillancourt <[email protected]> * fix protojson err Signed-off-by: Tim Vaillancourt <[email protected]> * make vtadmin_web_proto_types Signed-off-by: Tim Vaillancourt <[email protected]> * remove debug t.Logf(...) Signed-off-by: Tim Vaillancourt <[email protected]> --------- Signed-off-by: Tim Vaillancourt <[email protected]> Signed-off-by: Eng Zer Jun <[email protected]> Signed-off-by: Shlomi Noach <[email protected]> Signed-off-by: Eduardo J. Ortega U <[email protected]> Signed-off-by: Eduardo J. Ortega U. <[email protected]> Signed-off-by: deepthi <[email protected]> Co-authored-by: Eng Zer Jun <[email protected]> Co-authored-by: Shlomi Noach <[email protected]> Co-authored-by: Eduardo J. Ortega U <[email protected]> Co-authored-by: Deepthi Sigireddi <[email protected]>
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