Reincorporate memory leak fix

7832 got lost during a rebase/merge.  This reincorporate the fix
for the in-memory index as well as tsi.
pull/7913/head
Jason Wilder 2017-01-24 20:13:48 -07:00
parent 173003bc38
commit 2ae9406c1d
2 changed files with 6 additions and 3 deletions

View File

@ -152,7 +152,8 @@ func (i *Index) CreateSeriesIfNotExists(shardID uint64, key, name []byte, tags m
}
// set the in memory ID for query processing on this shard
series := tsdb.NewSeries(key, tags)
// The series key and tags are clone to prevent a memory leak
series := tsdb.NewSeries([]byte(string(key)), tags.Clone())
series.ID = i.lastID + 1
i.lastID++

View File

@ -358,7 +358,8 @@ func (f *LogFile) AddSeriesList(names [][]byte, tagsSlice []models.Tags) error {
defer f.mu.Unlock()
for i := range names {
e := LogEntry{Name: names[i], Tags: tagsSlice[i]}
// The name and tags are clone to prevent a memory leak
e := LogEntry{Name: []byte(string(names[i])), Tags: tagsSlice[i].Clone()}
if err := f.appendEntry(&e); err != nil {
return err
}
@ -372,7 +373,8 @@ func (f *LogFile) AddSeries(name []byte, tags models.Tags) error {
f.mu.Lock()
defer f.mu.Unlock()
e := LogEntry{Name: name, Tags: tags}
// The name and tags are clone to prevent a memory leak
e := LogEntry{Name: []byte(string(name)), Tags: tags.Clone()}
if err := f.appendEntry(&e); err != nil {
return err
}