diff --git a/etcdserver/api/membership/cluster.go b/etcdserver/api/membership/cluster.go index 89a6edd2538c..17169aa5324b 100644 --- a/etcdserver/api/membership/cluster.go +++ b/etcdserver/api/membership/cluster.go @@ -565,6 +565,7 @@ func (c *RaftCluster) SetVersion(ver *semver.Version, onSet func(*zap.Logger, *s plog.Noticef("set the initial cluster version to %v", version.Cluster(ver.String())) } } + oldVer := c.version c.version = ver mustDetectDowngrade(c.lg, c.version) if c.v2store != nil { @@ -574,6 +575,9 @@ func (c *RaftCluster) SetVersion(ver *semver.Version, onSet func(*zap.Logger, *s mustSaveClusterVersionToBackend(c.be, ver) } ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": ver.String()}).Set(1) + if oldVer != nil { + ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": oldVer.String()}).Set(0) + } onSet(c.lg, ver) }