diff --git a/etcdserver/api/membership/cluster.go b/etcdserver/api/membership/cluster.go index 89a6edd25..ebdf84c05 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 { @@ -573,6 +574,9 @@ func (c *RaftCluster) SetVersion(ver *semver.Version, onSet func(*zap.Logger, *s if c.be != nil { mustSaveClusterVersionToBackend(c.be, ver) } + if oldVer != nil { + ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": oldVer.String()}).Set(0) + } ClusterVersionMetrics.With(prometheus.Labels{"cluster_version": ver.String()}).Set(1) onSet(c.lg, ver) }