From ea1125f57d93dd9456f513d8a8531cc8d6e3e796 Mon Sep 17 00:00:00 2001 From: Eugene Bujak Date: Mon, 8 Oct 2018 04:24:37 +0300 Subject: [PATCH] coredns plugin -- don't reload from querylog on SIGUSR, we already have it in memory --- coredns_plugin/querylog_top.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/coredns_plugin/querylog_top.go b/coredns_plugin/querylog_top.go index 2ba7bcb4..82ee1130 100644 --- a/coredns_plugin/querylog_top.go +++ b/coredns_plugin/querylog_top.go @@ -36,6 +36,7 @@ func (top *hourTop) init() { type dayTop struct { hours []*hourTop + loaded bool sync.RWMutex // write -- rotating hourTop, read -- anything else } @@ -209,6 +210,9 @@ func (r *dayTop) addEntry(entry *logEntry, now time.Time) error { func loadTopFromFiles() error { now := time.Now() runningTop.RLock() + if runningTop.loaded { + return nil + } defer runningTop.RUnlock() onEntry := func(entry *logEntry) error { err := runningTop.addEntry(entry, now) @@ -226,6 +230,8 @@ func loadTopFromFiles() error { return err } + runningTop.loaded = true + return nil }