From 49218fd3bd3f473abc1da011e9dbfe8d94aa7675 Mon Sep 17 00:00:00 2001 From: Edd Robinson <me@edd.io> Date: Mon, 2 Oct 2017 17:11:57 +0100 Subject: [PATCH] Fix issue with series being added to log file --- tsdb/index/tsi1/log_file.go | 13 +++++++++++++ tsdb/index/tsi1/series_file.go | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tsdb/index/tsi1/log_file.go b/tsdb/index/tsi1/log_file.go index 1807616934..2aa3910cfb 100644 --- a/tsdb/index/tsi1/log_file.go +++ b/tsdb/index/tsi1/log_file.go @@ -438,8 +438,17 @@ func (f *LogFile) AddSeriesList(names [][]byte, tagsSlice []models.Tags) error { return err } + if seriesIDs == nil { + // All of these series IDs exist in the index. + return nil + } + entries := make([]LogEntry, len(names)) for i := range names { + if seriesIDs[i] == 0 { + // We don't need to allocate anything for this series. + continue + } entries[i] = LogEntry{SeriesID: seriesIDs[i]} } @@ -447,6 +456,10 @@ func (f *LogFile) AddSeriesList(names [][]byte, tagsSlice []models.Tags) error { defer f.mu.Unlock() for i := range entries { + if seriesIDs[i] == 0 { + // We don't need to add this series. + continue + } if err := f.appendEntry(&entries[i]); err != nil { return err } diff --git a/tsdb/index/tsi1/series_file.go b/tsdb/index/tsi1/series_file.go index da7831f17c..1ad5aed637 100644 --- a/tsdb/index/tsi1/series_file.go +++ b/tsdb/index/tsi1/series_file.go @@ -168,7 +168,7 @@ func (f *SeriesFile) CreateSeriesListIfNotExists(names [][]byte, tagsSlice []mod // Return immediately if no series need to be created. if !createRequired { - return offsets, nil + return nil, nil } // Obtain write lock to create new series.