mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-26 22:19:40 -08:00
Fix uniqueness of new series
This commit is contained in:
parent
5efe1d178e
commit
201d7687b6
13
head.go
13
head.go
|
@ -186,8 +186,9 @@ func (h *HeadBlock) appendBatch(samples []hashedSample) error {
|
|||
// Find head chunks for all samples and allocate new IDs/refs for
|
||||
// ones we haven't seen before.
|
||||
var (
|
||||
newSeries []labels.Labels
|
||||
newHashes []uint64
|
||||
newSeries []labels.Labels
|
||||
newHashes []uint64
|
||||
uniqueHashes = map[uint64]uint32{}
|
||||
)
|
||||
|
||||
for i := range samples {
|
||||
|
@ -200,7 +201,15 @@ func (h *HeadBlock) appendBatch(samples []hashedSample) error {
|
|||
s.ref = ref
|
||||
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))
|
||||
uniqueHashes[s.hash] = s.ref
|
||||
|
||||
newSeries = append(newSeries, s.labels)
|
||||
newHashes = append(newHashes, s.hash)
|
||||
|
|
Loading…
Reference in a new issue