Extract appending from goroutine.

This commit is contained in:
Matt T. Proud 2013-03-14 18:09:19 -07:00
parent 187cd4cdbc
commit 47ce7ad302

View file

@ -540,7 +540,6 @@ func (l *LevelDBMetricPersistence) AppendSamples(samples model.Samples) (err err
var ( var (
fingerprintToSamples = groupByFingerprint(samples) fingerprintToSamples = groupByFingerprint(samples)
indexErrChan = make(chan error) indexErrChan = make(chan error)
doneCommitting sync.WaitGroup
) )
go func(groups map[model.Fingerprint]model.Samples) { go func(groups map[model.Fingerprint]model.Samples) {
@ -555,11 +554,8 @@ func (l *LevelDBMetricPersistence) AppendSamples(samples model.Samples) (err err
indexErrChan <- l.indexMetrics(metrics) indexErrChan <- l.indexMetrics(metrics)
}(fingerprintToSamples) }(fingerprintToSamples)
go func() {
doneCommitting.Add(1)
samplesBatch := leveldb.NewBatch() samplesBatch := leveldb.NewBatch()
defer samplesBatch.Close() defer samplesBatch.Close()
defer doneCommitting.Done()
for fingerprint, group := range fingerprintToSamples { for fingerprint, group := range fingerprintToSamples {
for { for {
@ -601,9 +597,7 @@ func (l *LevelDBMetricPersistence) AppendSamples(samples model.Samples) (err err
if err != nil { if err != nil {
panic(err) panic(err)
} }
}()
doneCommitting.Wait()
err = <-indexErrChan err = <-indexErrChan
if err != nil { if err != nil {
panic(err) panic(err)