|
|
|
@ -22,7 +22,6 @@ import (
|
|
|
|
|
"path"
|
|
|
|
|
"path/filepath"
|
|
|
|
|
"sync"
|
|
|
|
|
"sync/atomic"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
"github.com/golang/glog"
|
|
|
|
@ -586,7 +585,7 @@ func (p *persistence) checkpointSeriesMapAndHeads(fingerprintToSeries *seriesMap
|
|
|
|
|
// this method during start-up while nothing else is running in storage
|
|
|
|
|
// land. This method is utterly goroutine-unsafe.
|
|
|
|
|
func (p *persistence) loadSeriesMapAndHeads() (sm *seriesMap, err error) {
|
|
|
|
|
var chunksTotal, chunkDescsTotal int64
|
|
|
|
|
var chunkDescsTotal int64
|
|
|
|
|
fingerprintToSeries := make(map[clientmodel.Fingerprint]*memorySeries)
|
|
|
|
|
sm = &seriesMap{m: fingerprintToSeries}
|
|
|
|
|
|
|
|
|
@ -599,7 +598,6 @@ func (p *persistence) loadSeriesMapAndHeads() (sm *seriesMap, err error) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if err == nil {
|
|
|
|
|
atomic.AddInt64(&numMemChunks, chunksTotal)
|
|
|
|
|
numMemChunkDescs.Add(float64(chunkDescsTotal))
|
|
|
|
|
}
|
|
|
|
|
}()
|
|
|
|
@ -704,7 +702,6 @@ func (p *persistence) loadSeriesMapAndHeads() (sm *seriesMap, err error) {
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// Non-persisted head chunk.
|
|
|
|
|
chunksTotal++
|
|
|
|
|
chunkType, err := r.ReadByte()
|
|
|
|
|
if err != nil {
|
|
|
|
|
glog.Warning("Could not decode chunk type:", err)
|
|
|
|
@ -718,6 +715,7 @@ func (p *persistence) loadSeriesMapAndHeads() (sm *seriesMap, err error) {
|
|
|
|
|
return sm, nil
|
|
|
|
|
}
|
|
|
|
|
chunkDescs[i] = newChunkDesc(chunk)
|
|
|
|
|
chunkDescsTotal-- // Avoid double-counting by newChunkDesc.
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|