From eba9f31f3f691f3dfbc32d9844dc59959dfa0142 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Tue, 13 Aug 2019 16:28:32 +0000 Subject: [PATCH] fix(probe): restart conntrack handler periodically to clear out data We observe a slow increase in connections reported, and are unable to find the root cause, so clear down the data every six hours and start from a clean sheet. --- probe/endpoint/conntrack.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/probe/endpoint/conntrack.go b/probe/endpoint/conntrack.go index 92678878e..0e2ae17ba 100644 --- a/probe/endpoint/conntrack.go +++ b/probe/endpoint/conntrack.go @@ -135,16 +135,20 @@ func (c *conntrackWalker) run() { return } - defer log.Infof("conntrack exiting") - + periodicRestart := time.After(6 * time.Hour) // Handle conntrack events from netlink socket for { select { + case <-periodicRestart: + log.Debugf("conntrack periodic restart") + return case <-c.quit: + log.Infof("conntrack quit signal - exiting") stop() return case f, ok := <-events: if !ok { + log.Errorf("conntrack events read failed - exiting") return } if f.Err != nil {