From e7f049c85b7363faa900a16021239faf110c449c Mon Sep 17 00:00:00 2001 From: Julius Volz Date: Wed, 26 Jun 2013 18:00:47 +0200 Subject: [PATCH] Fix expunging of empty memory series (loop var pointerization bug) --- storage/metric/memory.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/storage/metric/memory.go b/storage/metric/memory.go index 913de569f..564201467 100644 --- a/storage/metric/memory.go +++ b/storage/metric/memory.go @@ -227,7 +227,7 @@ func (s *memorySeriesStorage) getOrCreateSeries(metric clientmodel.Metric, finge } func (s *memorySeriesStorage) Flush(flushOlderThan time.Time, queue chan<- clientmodel.Samples) { - emptySeries := clientmodel.Fingerprints{} + emptySeries := []clientmodel.Fingerprint{} s.RLock() for fingerprint, stream := range s.fingerprintToSeries { @@ -258,7 +258,7 @@ func (s *memorySeriesStorage) Flush(flushOlderThan time.Time, queue chan<- clien stream.values = toKeep if len(toKeep) == 0 { - emptySeries = append(emptySeries, &fingerprint) + emptySeries = append(emptySeries, fingerprint) } stream.Unlock() } @@ -266,8 +266,8 @@ func (s *memorySeriesStorage) Flush(flushOlderThan time.Time, queue chan<- clien s.Lock() for _, fingerprint := range emptySeries { - if s.fingerprintToSeries[*fingerprint].empty() { - s.dropSeries(fingerprint) + if s.fingerprintToSeries[fingerprint].empty() { + s.dropSeries(&fingerprint) } } s.Unlock()