Skip to content

Commit 200fcf2

Browse files
author
Jiri Ctvrtka
committed
PMM-8787 Fix lastMapVersion.
1 parent d61b780 commit 200fcf2

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

cmd/postgres_exporter/postgres_exporter.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1470,10 +1470,6 @@ func (e *Exporter) checkMapVersions(ch chan<- prometheus.Metric, server *Server)
14701470
log.Warnf("PostgreSQL version is lower on %q then our lowest supported version! Got %s minimum supported is %s.", server, semanticVersion, lowestSupportedVersion)
14711471
}
14721472

1473-
server.lastMapVersionMtx.RLock()
1474-
lastMapVersion := server.lastMapVersion
1475-
server.lastMapVersionMtx.RUnlock()
1476-
14771473
metricMap := make(map[string]MetricMapNamespace)
14781474
server.metricMapMtx.RLock()
14791475
for key, value := range server.metricMap {
@@ -1493,7 +1489,9 @@ func (e *Exporter) checkMapVersions(ch chan<- prometheus.Metric, server *Server)
14931489
server.labelsMtx.RUnlock()
14941490

14951491
// Check if semantic version changed and recalculate maps if needed.
1496-
if semanticVersion.NE(lastMapVersion) || metricMap == nil {
1492+
server.lastMapVersionMtx.RLock()
1493+
if semanticVersion.NE(server.lastMapVersion) || metricMap == nil {
1494+
server.lastMapVersionMtx.RUnlock()
14971495
log.Infof("Semantic Version Changed on %q: %s -> %s", server, server.lastMapVersion, semanticVersion)
14981496

14991497
// Get Default Metrics only for master database
@@ -1527,6 +1525,8 @@ func (e *Exporter) checkMapVersions(ch chan<- prometheus.Metric, server *Server)
15271525
e.loadCustomQueries(res, semanticVersion, server)
15281526
}
15291527
}
1528+
} else {
1529+
server.lastMapVersionMtx.RLock()
15301530
}
15311531

15321532
// Output the version as a special metric only for master database

0 commit comments

Comments
 (0)