mirror of
https://github.com/prometheus/prometheus.git
synced 2024-11-10 07:34:04 -08:00
Merge pull request #270 from prometheus/fix/expression/index-error
Revert "Ensure that all extracted samples are added to view."
This commit is contained in:
commit
fe5c70fc61
|
@ -200,23 +200,21 @@ func (s *memorySeriesStorage) AppendSample(sample model.Sample) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Append raw samples, bypassing indexing. Only used to add data to views,
|
||||
// which don't need to lookup by metric.
|
||||
func (s *memorySeriesStorage) appendSamplesWithoutIndexing(fingerprint *model.Fingerprint, samples model.Values) {
|
||||
// Append raw sample, bypassing indexing. Only used to add data to views, which
|
||||
// don't need to lookup by metric.
|
||||
func (s *memorySeriesStorage) appendSampleWithoutIndexing(f *model.Fingerprint, timestamp time.Time, value model.SampleValue) {
|
||||
s.RLock()
|
||||
series, ok := s.fingerprintToSeries[*fingerprint]
|
||||
series, ok := s.fingerprintToSeries[*f]
|
||||
s.RUnlock()
|
||||
|
||||
if !ok {
|
||||
series = newStream(model.Metric{})
|
||||
s.Lock()
|
||||
s.fingerprintToSeries[*fingerprint] = series
|
||||
s.fingerprintToSeries[*f] = series
|
||||
s.Unlock()
|
||||
}
|
||||
|
||||
for _, sample := range samples {
|
||||
series.add(sample.Timestamp, sample.Value)
|
||||
}
|
||||
series.add(timestamp, value)
|
||||
}
|
||||
|
||||
func (s *memorySeriesStorage) GetFingerprintsForLabelSet(l model.LabelSet) (fingerprints model.Fingerprints, err error) {
|
||||
|
|
|
@ -348,12 +348,14 @@ func (t *TieredStorage) renderView(viewJob viewJob) {
|
|||
|
||||
for op.CurrentTime() != nil && !op.CurrentTime().After(targetTime) {
|
||||
out = op.ExtractSamples(model.Values(currentChunk))
|
||||
|
||||
// Append the extracted samples to the materialized view.
|
||||
view.appendSamples(scanJob.fingerprint, out)
|
||||
}
|
||||
}
|
||||
|
||||
// Append the extracted samples to the materialized view.
|
||||
for _, sample := range out {
|
||||
view.appendSample(scanJob.fingerprint, sample.Timestamp, sample.Value)
|
||||
}
|
||||
|
||||
// Throw away standing ops which are finished.
|
||||
filteredOps := ops{}
|
||||
for _, op := range standingOps {
|
||||
|
|
|
@ -105,8 +105,8 @@ type view struct {
|
|||
*memorySeriesStorage
|
||||
}
|
||||
|
||||
func (v view) appendSamples(fingerprint *model.Fingerprint, samples model.Values) {
|
||||
v.memorySeriesStorage.appendSamplesWithoutIndexing(fingerprint, samples)
|
||||
func (v view) appendSample(fingerprint *model.Fingerprint, timestamp time.Time, value model.SampleValue) {
|
||||
v.memorySeriesStorage.appendSampleWithoutIndexing(fingerprint, timestamp, value)
|
||||
}
|
||||
|
||||
func newView() view {
|
||||
|
|
Loading…
Reference in a new issue