plugin/cache: don't cache msg with TTL=0 in them (#1116)

Don't cache these - may be lead to weird side effects.

Fixes #1113
This commit is contained in:
Miek Gieben 2017-09-28 14:22:23 +01:00 committed by GitHub
parent 9d736fd754
commit 1e71d0e2c1
2 changed files with 33 additions and 3 deletions

View file

@ -106,7 +106,7 @@ func (w *ResponseWriter) WriteMsg(res *dns.Msg) error {
duration = msgTTL
}
if key != -1 {
if key != -1 && duration > 0 {
w.set(res, key, mt, duration)
cacheSize.WithLabelValues(Success).Set(float64(w.pcache.Len()))
@ -134,8 +134,7 @@ func (w *ResponseWriter) WriteMsg(res *dns.Msg) error {
}
func (w *ResponseWriter) set(m *dns.Msg, key int, mt response.Type, duration time.Duration) {
if key == -1 {
log.Printf("[ERROR] Caching called with empty cache key")
if key == -1 || duration == 0 {
return
}