|
|
|
|
@ -47,7 +47,10 @@ func newTestHead(t testing.TB, chunkRange int64, compressWAL bool) (*Head, *wal. |
|
|
|
|
wlog, err := wal.NewSize(nil, nil, filepath.Join(dir, "wal"), 32768, compressWAL) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
|
|
|
|
|
h, err := NewHead(nil, nil, wlog, chunkRange, dir, nil, chunks.DefaultWriteBufferSize, DefaultStripeSize, nil) |
|
|
|
|
opts := DefaultHeadOptions() |
|
|
|
|
opts.ChunkRange = chunkRange |
|
|
|
|
opts.ChunkDirRoot = dir |
|
|
|
|
h, err := NewHead(nil, nil, wlog, opts) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
|
|
|
|
|
require.NoError(t, h.chunkDiskMapper.IterateAllChunks(func(_, _ uint64, _, _ int64, _ uint16) error { return nil })) |
|
|
|
|
@ -191,7 +194,10 @@ func BenchmarkLoadWAL(b *testing.B) { |
|
|
|
|
|
|
|
|
|
// Load the WAL.
|
|
|
|
|
for i := 0; i < b.N; i++ { |
|
|
|
|
h, err := NewHead(nil, nil, w, 1000, w.Dir(), nil, chunks.DefaultWriteBufferSize, DefaultStripeSize, nil) |
|
|
|
|
opts := DefaultHeadOptions() |
|
|
|
|
opts.ChunkRange = 1000 |
|
|
|
|
opts.ChunkDirRoot = w.Dir() |
|
|
|
|
h, err := NewHead(nil, nil, w, opts) |
|
|
|
|
require.NoError(b, err) |
|
|
|
|
h.Init(0) |
|
|
|
|
} |
|
|
|
|
@ -302,7 +308,10 @@ func TestHead_WALMultiRef(t *testing.T) { |
|
|
|
|
w, err = wal.New(nil, nil, w.Dir(), false) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
|
|
|
|
|
head, err = NewHead(nil, nil, w, 1000, w.Dir(), nil, chunks.DefaultWriteBufferSize, DefaultStripeSize, nil) |
|
|
|
|
opts := DefaultHeadOptions() |
|
|
|
|
opts.ChunkRange = 1000 |
|
|
|
|
opts.ChunkDirRoot = w.Dir() |
|
|
|
|
head, err = NewHead(nil, nil, w, opts) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
require.NoError(t, head.Init(0)) |
|
|
|
|
defer func() { |
|
|
|
|
@ -583,7 +592,10 @@ func TestHeadDeleteSimple(t *testing.T) { |
|
|
|
|
// Compare the samples for both heads - before and after the reloadBlocks.
|
|
|
|
|
reloadedW, err := wal.New(nil, nil, w.Dir(), compress) // Use a new wal to ensure deleted samples are gone even after a reloadBlocks.
|
|
|
|
|
require.NoError(t, err) |
|
|
|
|
reloadedHead, err := NewHead(nil, nil, reloadedW, 1000, reloadedW.Dir(), nil, chunks.DefaultWriteBufferSize, DefaultStripeSize, nil) |
|
|
|
|
opts := DefaultHeadOptions() |
|
|
|
|
opts.ChunkRange = 1000 |
|
|
|
|
opts.ChunkDirRoot = reloadedW.Dir() |
|
|
|
|
reloadedHead, err := NewHead(nil, nil, reloadedW, opts) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
require.NoError(t, reloadedHead.Init(0)) |
|
|
|
|
|
|
|
|
|
@ -1265,7 +1277,10 @@ func TestWalRepair_DecodingError(t *testing.T) { |
|
|
|
|
require.NoError(t, w.Log(test.rec)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
h, err := NewHead(nil, nil, w, 1, w.Dir(), nil, chunks.DefaultWriteBufferSize, DefaultStripeSize, nil) |
|
|
|
|
opts := DefaultHeadOptions() |
|
|
|
|
opts.ChunkRange = 1 |
|
|
|
|
opts.ChunkDirRoot = w.Dir() |
|
|
|
|
h, err := NewHead(nil, nil, w, opts) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
require.Equal(t, 0.0, prom_testutil.ToFloat64(h.metrics.walCorruptionsTotal)) |
|
|
|
|
initErr := h.Init(math.MinInt64) |
|
|
|
|
@ -1320,7 +1335,10 @@ func TestHeadReadWriterRepair(t *testing.T) { |
|
|
|
|
w, err := wal.New(nil, nil, walDir, false) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
|
|
|
|
|
h, err := NewHead(nil, nil, w, chunkRange, dir, nil, chunks.DefaultWriteBufferSize, DefaultStripeSize, nil) |
|
|
|
|
opts := DefaultHeadOptions() |
|
|
|
|
opts.ChunkRange = chunkRange |
|
|
|
|
opts.ChunkDirRoot = dir |
|
|
|
|
h, err := NewHead(nil, nil, w, opts) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
require.Equal(t, 0.0, prom_testutil.ToFloat64(h.metrics.mmapChunkCorruptionTotal)) |
|
|
|
|
require.NoError(t, h.Init(math.MinInt64)) |
|
|
|
|
@ -1550,7 +1568,10 @@ func TestMemSeriesIsolation(t *testing.T) { |
|
|
|
|
|
|
|
|
|
wlog, err := wal.NewSize(nil, nil, w.Dir(), 32768, false) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
hb, err = NewHead(nil, nil, wlog, 1000, wlog.Dir(), nil, chunks.DefaultWriteBufferSize, DefaultStripeSize, nil) |
|
|
|
|
opts := DefaultHeadOptions() |
|
|
|
|
opts.ChunkRange = 1000 |
|
|
|
|
opts.ChunkDirRoot = wlog.Dir() |
|
|
|
|
hb, err = NewHead(nil, nil, wlog, opts) |
|
|
|
|
defer func() { require.NoError(t, hb.Close()) }() |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
require.NoError(t, hb.Init(0)) |
|
|
|
|
|