Skip to content

Commit ef35aef

Browse files
committed
server: check for isMeta1Leaseholder later in loop
This checks for isMeta1Leaseholder after first checking the version, allowing the version checking goroutine to exit early for the common case of being on the most recent version. Epic: none Release note: None
1 parent 287999c commit ef35aef

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

pkg/server/auto_upgrade.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,6 @@ func (s *topLevelServer) startAttemptUpgrade(ctx context.Context) error {
4747
}
4848

4949
for r := retry.StartWithCtx(ctx, retryOpts); r.Next(); {
50-
if clusterversion.AutoUpgradeSystemClusterFromMeta1Leaseholder.Get(&s.ClusterSettings().SV) {
51-
isMeta1LH, err := s.sqlServer.isMeta1Leaseholder(ctx, s.clock.NowAsClockTimestamp())
52-
if err != nil || !isMeta1LH {
53-
log.Ops.VInfof(ctx, 2, "not upgrading since we are not the Meta1 leaseholder; err=%v", err)
54-
continue
55-
}
56-
}
57-
5850
clusterVersion, err := s.clusterVersion(ctx)
5951
if err != nil {
6052
log.Dev.Errorf(ctx, "unable to retrieve cluster version: %v", err)
@@ -94,6 +86,14 @@ func (s *topLevelServer) startAttemptUpgrade(ctx context.Context) error {
9486
panic(errors.AssertionFailedf("unhandled case: %d", status))
9587
}
9688

89+
if clusterversion.AutoUpgradeSystemClusterFromMeta1Leaseholder.Get(&s.ClusterSettings().SV) {
90+
isMeta1LH, err := s.sqlServer.isMeta1Leaseholder(ctx, s.clock.NowAsClockTimestamp())
91+
if err != nil || !isMeta1LH {
92+
log.Ops.VInfof(ctx, 2, "not upgrading since we are not the Meta1 leaseholder; err=%v", err)
93+
continue
94+
}
95+
}
96+
9797
upgradeRetryOpts := retry.Options{
9898
InitialBackoff: 5 * time.Second,
9999
MaxBackoff: 10 * time.Second,

0 commit comments

Comments
 (0)