lib/storage: re-use indexSearch inside Storage.prefetchMetricNames

This commit is contained in:
Aliaksandr Valialkin 2020-01-31 00:54:28 +02:00
parent d70ba7eb37
commit 2152f6f0cd

View file

@ -2,6 +2,7 @@ package storage
import (
"fmt"
"io"
"io/ioutil"
"math"
"os"
@ -673,9 +674,12 @@ func (s *Storage) prefetchMetricNames(tsids []TSID) error {
sort.Sort(metricIDs)
var metricName []byte
var err error
idb := s.idb()
is := idb.getIndexSearch()
defer idb.putIndexSearch(is)
for _, metricID := range metricIDs {
metricName, err = s.searchMetricName(metricName[:0], metricID)
if err != nil {
metricName, err = is.searchMetricName(metricName[:0], metricID)
if err != nil && err != io.EOF {
return fmt.Errorf("error in pre-fetching metricName for metricID=%d: %s", metricID, err)
}
}