lib/storage: skip metricID if the corresponding metricID->metricName is missing in inverted index during search

This case is possible when the corresponding metricID->metricName entry didn't propagate to inverted index yet.

This should fix the following error:

error when searching tsids for tfss [...]: cannot find metricName by metricID 1582417212213420669: EOF
This commit is contained in:
Aliaksandr Valialkin 2020-04-15 00:05:01 +03:00
parent 2ce78c0dde
commit e9d9638627

View file

@ -1389,6 +1389,11 @@ func (is *indexSearch) updateMetricIDsByMetricNameMatch(metricIDs, srcMetricIDs
var err error
metricName.B, err = is.searchMetricName(metricName.B[:0], metricID, accountID, projectID)
if err != nil {
if err == io.EOF {
// It is likely the metricID->metricName entry didn't propagate to inverted index yet.
// Skip this metricID for now.
continue
}
return fmt.Errorf("cannot find metricName by metricID %d: %s", metricID, err)
}
if err := mn.Unmarshal(metricName.B); err != nil {