mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-25 05:34:05 -08:00
Correctly handle pruning wraparound after ring expansion (#3942)
Fixes #3939
This commit is contained in:
parent
85a3c974b7
commit
a8c22c85cc
|
@ -178,6 +178,7 @@ func (r *sampleRing) add(t int64, v float64) {
|
|||
r.buf = buf
|
||||
r.i = r.f
|
||||
r.f += l
|
||||
l = 2 * l
|
||||
} else {
|
||||
r.i++
|
||||
if r.i >= l {
|
||||
|
|
|
@ -48,6 +48,11 @@ func TestSampleRing(t *testing.T) {
|
|||
delta: 7,
|
||||
size: 1,
|
||||
},
|
||||
{
|
||||
input: []int64{1, 2, 3, 4, 6},
|
||||
delta: 4,
|
||||
size: 4,
|
||||
},
|
||||
}
|
||||
for _, c := range cases {
|
||||
r := newSampleRing(c.delta, c.size)
|
||||
|
|
Loading…
Reference in a new issue