Remove leaky Appender abstraction for hashedAppend

pull/5805/head
Fabian Reinartz 2017-03-06 14:27:33 +01:00
parent 87d270fe11
commit 50791a412e
2 changed files with 2 additions and 17 deletions

15
db.go
View File

@ -459,19 +459,6 @@ func (a *dbAppender) Add(lset labels.Labels, t int64, v float64) (uint64, error)
return ref | (uint64(h.generation) << 40), nil
}
func (a *dbAppender) hashedAdd(hash uint64, lset labels.Labels, t int64, v float64) (uint64, error) {
h, err := a.appenderFor(t)
if err != nil {
return 0, err
}
ref, err := h.hashedAdd(hash, lset, t, v)
if err != nil {
return 0, err
}
a.samples++
return ref | (uint64(h.generation) << 40), nil
}
func (a *dbAppender) AddFast(ref uint64, t int64, v float64) error {
// We store the head generation in the 4th byte and use it to reject
// stale references.
@ -809,7 +796,7 @@ func (a *partitionedAppender) Add(lset labels.Labels, t int64, v float64) (uint6
h := lset.Hash()
p := h >> (64 - a.db.partitionPow)
ref, err := a.partitions[p].hashedAdd(h, lset, t, v)
ref, err := a.partitions[p].Add(lset, t, v)
if err != nil {
return 0, err
}

View File

@ -223,10 +223,8 @@ type refdSample struct {
}
func (a *headAppender) Add(lset labels.Labels, t int64, v float64) (uint64, error) {
return a.hashedAdd(lset.Hash(), lset, t, v)
}
hash := lset.Hash()
func (a *headAppender) hashedAdd(hash uint64, lset labels.Labels, t int64, v float64) (uint64, error) {
if ms := a.get(hash, lset); ms != nil {
return uint64(ms.ref), a.AddFast(uint64(ms.ref), t, v)
}