diff --git a/go/vt/vttablet/tabletmanager/healthcheck.go b/go/vt/vttablet/tabletmanager/healthcheck.go index cf187767741..cfc2a48ae9d 100644 --- a/go/vt/vttablet/tabletmanager/healthcheck.go +++ b/go/vt/vttablet/tabletmanager/healthcheck.go @@ -180,6 +180,7 @@ func (agent *ActionAgent) runHealthCheck() { } func (agent *ActionAgent) runHealthCheckLocked() { + agent.checkLock() // read the current tablet record and tablet control agent.mutex.Lock() tablet := proto.Clone(agent._tablet).(*topodatapb.Tablet) diff --git a/go/vt/vttablet/tabletmanager/rpc_backup.go b/go/vt/vttablet/tabletmanager/rpc_backup.go index b2ffffd3933..d7387b7c941 100644 --- a/go/vt/vttablet/tabletmanager/rpc_backup.go +++ b/go/vt/vttablet/tabletmanager/rpc_backup.go @@ -122,9 +122,10 @@ func (agent *ActionAgent) Backup(ctx context.Context, concurrency int, logger lo if err := agent.refreshTablet(bgCtx, "after backup"); err != nil { return err } + // and re-run health check to be sure to capture any replication delay + // not needed for online backups because it will continue to run per schedule + agent.runHealthCheckLocked() } - // and re-run health check to be sure to capture any replication delay - agent.runHealthCheckLocked() return returnErr }