mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-27 14:39:40 -08:00
Merge pull request #2385 from prometheus/beorn7/storage
Fix embarrassing bug of not setting the shrink ratio
This commit is contained in:
commit
7db4447390
|
@ -310,6 +310,7 @@ func newPersistence(
|
|||
dirtyFileName: dirtyPath,
|
||||
fLock: fLock,
|
||||
shouldSync: shouldSync,
|
||||
minShrinkRatio: minShrinkRatio,
|
||||
// Create buffers of length 3*chunkLenWithHeader by default because that is still reasonably small
|
||||
// and at the same time enough for many uses. The contract is to never return buffer smaller than
|
||||
// that to the pool so that callers can rely on a minimum buffer size.
|
||||
|
|
|
@ -42,7 +42,7 @@ var (
|
|||
func newTestPersistence(t *testing.T, encoding chunk.Encoding) (*persistence, testutil.Closer) {
|
||||
chunk.DefaultEncoding = encoding
|
||||
dir := testutil.NewTemporaryDirectory("test_persistence", t)
|
||||
p, err := newPersistence(dir.Path(), false, false, func() bool { return false }, 0.1)
|
||||
p, err := newPersistence(dir.Path(), false, false, func() bool { return false }, 0.15)
|
||||
if err != nil {
|
||||
dir.Close()
|
||||
t.Fatal(err)
|
||||
|
@ -173,6 +173,25 @@ func testPersistLoadDropChunks(t *testing.T, encoding chunk.Encoding) {
|
|||
|
||||
}
|
||||
}
|
||||
// Try to drop one chunk, which must be prevented by the shrink ratio.
|
||||
for fp, _ := range fpToChunks {
|
||||
firstTime, offset, numDropped, allDropped, err := p.dropAndPersistChunks(fp, 1, nil)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if offset != 0 {
|
||||
t.Errorf("want offset 0, got %d", offset)
|
||||
}
|
||||
if firstTime != 0 {
|
||||
t.Errorf("want first time 0, got %d", firstTime)
|
||||
}
|
||||
if numDropped != 0 {
|
||||
t.Errorf("want 0 dropped chunks, got %v", numDropped)
|
||||
}
|
||||
if allDropped {
|
||||
t.Error("all chunks dropped")
|
||||
}
|
||||
}
|
||||
// Drop half of the chunks.
|
||||
for fp, expectedChunks := range fpToChunks {
|
||||
firstTime, offset, numDropped, allDropped, err := p.dropAndPersistChunks(fp, 5, nil)
|
||||
|
|
Loading…
Reference in a new issue