From 5eb9840ed79f73fc34b5653560af271d6c7733fd Mon Sep 17 00:00:00 2001 From: Bernerd Schaefer Date: Fri, 3 May 2013 12:13:05 +0200 Subject: [PATCH] Fix goroutine leak in leveldb.AppendSamples The error channels in AppendSamples need to be buffered, since in the presence of errors their values may not be consumed. --- storage/metric/leveldb.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/storage/metric/leveldb.go b/storage/metric/leveldb.go index ff352f686..343a57f7d 100644 --- a/storage/metric/leveldb.go +++ b/storage/metric/leveldb.go @@ -538,8 +538,8 @@ func (l *LevelDBMetricPersistence) AppendSamples(samples model.Samples) (err err var ( fingerprintToSamples = groupByFingerprint(samples) - indexErrChan = make(chan error) - watermarkErrChan = make(chan error) + indexErrChan = make(chan error, 1) + watermarkErrChan = make(chan error, 1) ) go func(groups map[model.Fingerprint]model.Samples) {