From acb81d766e1c392a69ba511f273c026c50652903 Mon Sep 17 00:00:00 2001 From: Tim Vaillancourt Date: Thu, 13 Feb 2025 23:05:51 +0100 Subject: [PATCH] use logic.DisableRecovery() to disable Signed-off-by: Tim Vaillancourt --- go/cmd/vtorc/cli/cli.go | 7 +++++++ go/vt/vtorc/logic/vtorc.go | 9 ++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/go/cmd/vtorc/cli/cli.go b/go/cmd/vtorc/cli/cli.go index f521ae05e57..2e172ff26d8 100644 --- a/go/cmd/vtorc/cli/cli.go +++ b/go/cmd/vtorc/cli/cli.go @@ -68,6 +68,13 @@ func run(cmd *cobra.Command, args []string) { // Log final config values to debug if something goes wrong. config.LogConfigValues() + if !config.Config.AllowRecovery { + log.Info("--allow-recoveries is set to false, disabling recoveries") + if err := logic.DisableRecovery(); err != nil { + log.Errorf("failed to disable recoveries: %+v", err) + return + } + } server.StartVTOrcDiscovery() server.RegisterVTOrcAPIEndpoints() diff --git a/go/vt/vtorc/logic/vtorc.go b/go/vt/vtorc/logic/vtorc.go index 7e3ff708a6d..947150b9907 100644 --- a/go/vt/vtorc/logic/vtorc.go +++ b/go/vt/vtorc/logic/vtorc.go @@ -337,6 +337,7 @@ func ContinuousDiscovery() { healthTick := time.Tick(config.HealthPollSeconds * time.Second) caretakingTick := time.Tick(time.Minute) + recoveryTick := time.Tick(time.Duration(config.Config.RecoveryPollSeconds) * time.Second) tabletTopoTick := OpenTabletDiscovery() var recoveryEntrance int64 var snapshotTopologiesTick <-chan time.Time @@ -344,12 +345,6 @@ func ContinuousDiscovery() { snapshotTopologiesTick = time.Tick(time.Duration(config.Config.SnapshotTopologiesIntervalHours) * time.Hour) } - recoveryTicker := time.NewTicker(time.Duration(config.Config.RecoveryPollSeconds) * time.Second) - defer recoveryTicker.Stop() - if !config.Config.AllowRecovery { - recoveryTicker.Stop() - } - runCheckAndRecoverOperationsTimeRipe := func() bool { return time.Since(continuousDiscoveryStartTime) >= checkAndRecoverWaitPeriod } @@ -383,7 +378,7 @@ func ContinuousDiscovery() { go ExpireTopologyRecoveryStepsHistory() } }() - case <-recoveryTicker.C: + case <-recoveryTick: go func() { if IsLeaderOrActive() { go ClearActiveFailureDetections()