From c126e6c26cbd7914499c0916457d4b3ea41c1491 Mon Sep 17 00:00:00 2001 From: okozachenko Date: Fri, 7 Aug 2020 18:59:33 +0300 Subject: [PATCH] Check conn status before close Change-Id: I0d2a69883dda556ffe5db623b2a29588f9c114cb --- collectors/domain_stats.go | 10 ++++++++-- collectors/version.go | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/collectors/domain_stats.go b/collectors/domain_stats.go index 50f7260..40bd254 100644 --- a/collectors/domain_stats.go +++ b/collectors/domain_stats.go @@ -313,11 +313,17 @@ func (c *DomainStatsCollector) Collect(ch chan<- prometheus.Metric) { log.Errorln(err) return } - defer func() { - _, err := conn.Close() + alive, err := conn.IsAlive() if err != nil { log.Errorln(err) + return + } + if alive { + _, err := conn.Close() + if err != nil { + log.Errorln(err) + } } }() diff --git a/collectors/version.go b/collectors/version.go index f0372f5..3186b71 100644 --- a/collectors/version.go +++ b/collectors/version.go @@ -52,11 +52,17 @@ func (c *VersionCollector) Collect(ch chan<- prometheus.Metric) { log.Errorln(err) return } - defer func() { - _, err := conn.Close() + alive, err := conn.IsAlive() if err != nil { log.Errorln(err) + return + } + if alive { + _, err := conn.Close() + if err != nil { + log.Errorln(err) + } } }()