mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
Fix uniqueness of new series
This commit is contained in:
parent
5efe1d178e
commit
201d7687b6
9
head.go
9
head.go
|
@ -188,6 +188,7 @@ func (h *HeadBlock) appendBatch(samples []hashedSample) error {
|
||||||
var (
|
var (
|
||||||
newSeries []labels.Labels
|
newSeries []labels.Labels
|
||||||
newHashes []uint64
|
newHashes []uint64
|
||||||
|
uniqueHashes = map[uint64]uint32{}
|
||||||
)
|
)
|
||||||
|
|
||||||
for i := range samples {
|
for i := range samples {
|
||||||
|
@ -200,7 +201,15 @@ func (h *HeadBlock) appendBatch(samples []hashedSample) error {
|
||||||
s.ref = ref
|
s.ref = ref
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// There may be several samples for a new series in a batch.
|
||||||
|
// We don't want to reserve a new space for each.
|
||||||
|
if ref, ok := uniqueHashes[s.hash]; ok {
|
||||||
|
s.ref = ref
|
||||||
|
continue
|
||||||
|
}
|
||||||
s.ref = uint32(len(h.descs) + len(newSeries))
|
s.ref = uint32(len(h.descs) + len(newSeries))
|
||||||
|
uniqueHashes[s.hash] = s.ref
|
||||||
|
|
||||||
newSeries = append(newSeries, s.labels)
|
newSeries = append(newSeries, s.labels)
|
||||||
newHashes = append(newHashes, s.hash)
|
newHashes = append(newHashes, s.hash)
|
||||||
|
|
Loading…
Reference in a new issue