mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
Fix up remote write tests:
- Tests that created a QueueManager were leaving behind files at the end of tests. - WAL replaying (readToEnd)tests seem to require extra time to finish now. - Some fixes to make staticcheck happy Signed-off-by: Callum Styan <callumstyan@gmail.com>
This commit is contained in:
parent
184f06a981
commit
d6258aea8f
|
@ -16,6 +16,8 @@ package remote
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
"sync"
|
"sync"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
|
@ -49,7 +51,12 @@ func TestSampleDelivery(t *testing.T) {
|
||||||
cfg.BatchSendDeadline = model.Duration(100 * time.Millisecond)
|
cfg.BatchSendDeadline = model.Duration(100 * time.Millisecond)
|
||||||
cfg.MaxShards = 1
|
cfg.MaxShards = 1
|
||||||
var temp int64
|
var temp int64
|
||||||
m := NewQueueManager(nil, "", newEWMARate(ewmaWeight, shardUpdateDuration), &temp, cfg, nil, nil, c, defaultFlushDeadline, 0)
|
|
||||||
|
dir, err := ioutil.TempDir("", "TestSampleDeliver")
|
||||||
|
testutil.Ok(t, err)
|
||||||
|
defer os.RemoveAll(dir)
|
||||||
|
|
||||||
|
m := NewQueueManager(nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), &temp, cfg, nil, nil, c, defaultFlushDeadline, 0)
|
||||||
m.seriesLabels = refSeriesToLabelsProto(series)
|
m.seriesLabels = refSeriesToLabelsProto(series)
|
||||||
|
|
||||||
// These should be received by the client.
|
// These should be received by the client.
|
||||||
|
@ -73,7 +80,12 @@ func TestSampleDeliveryTimeout(t *testing.T) {
|
||||||
cfg.MaxShards = 1
|
cfg.MaxShards = 1
|
||||||
cfg.BatchSendDeadline = model.Duration(100 * time.Millisecond)
|
cfg.BatchSendDeadline = model.Duration(100 * time.Millisecond)
|
||||||
var temp int64
|
var temp int64
|
||||||
m := NewQueueManager(nil, "", newEWMARate(ewmaWeight, shardUpdateDuration), &temp, cfg, nil, nil, c, defaultFlushDeadline, 0)
|
|
||||||
|
dir, err := ioutil.TempDir("", "TestSampleDeliveryTimeout")
|
||||||
|
testutil.Ok(t, err)
|
||||||
|
defer os.RemoveAll(dir)
|
||||||
|
|
||||||
|
m := NewQueueManager(nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), &temp, cfg, nil, nil, c, defaultFlushDeadline, 0)
|
||||||
m.seriesLabels = refSeriesToLabelsProto(series)
|
m.seriesLabels = refSeriesToLabelsProto(series)
|
||||||
m.Start()
|
m.Start()
|
||||||
defer m.Stop()
|
defer m.Stop()
|
||||||
|
@ -109,7 +121,12 @@ func TestSampleDeliveryOrder(t *testing.T) {
|
||||||
c := NewTestStorageClient()
|
c := NewTestStorageClient()
|
||||||
c.expectSamples(samples, series)
|
c.expectSamples(samples, series)
|
||||||
var temp int64
|
var temp int64
|
||||||
m := NewQueueManager(nil, "", newEWMARate(ewmaWeight, shardUpdateDuration), &temp, config.DefaultQueueConfig, nil, nil, c, defaultFlushDeadline, 0)
|
|
||||||
|
dir, err := ioutil.TempDir("", "TestSampleDeliveryOrder")
|
||||||
|
testutil.Ok(t, err)
|
||||||
|
defer os.RemoveAll(dir)
|
||||||
|
|
||||||
|
m := NewQueueManager(nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), &temp, config.DefaultQueueConfig, nil, nil, c, defaultFlushDeadline, 0)
|
||||||
m.seriesLabels = refSeriesToLabelsProto(series)
|
m.seriesLabels = refSeriesToLabelsProto(series)
|
||||||
|
|
||||||
m.Start()
|
m.Start()
|
||||||
|
@ -124,7 +141,12 @@ func TestShutdown(t *testing.T) {
|
||||||
c := NewTestBlockedStorageClient()
|
c := NewTestBlockedStorageClient()
|
||||||
|
|
||||||
var temp int64
|
var temp int64
|
||||||
m := NewQueueManager(nil, "", newEWMARate(ewmaWeight, shardUpdateDuration), &temp, config.DefaultQueueConfig, nil, nil, c, deadline, 0)
|
|
||||||
|
dir, err := ioutil.TempDir("", "TestShutdown")
|
||||||
|
testutil.Ok(t, err)
|
||||||
|
defer os.RemoveAll(dir)
|
||||||
|
|
||||||
|
m := NewQueueManager(nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), &temp, config.DefaultQueueConfig, nil, nil, c, deadline, 0)
|
||||||
samples, series := createTimeseries(2 * config.DefaultQueueConfig.MaxSamplesPerSend)
|
samples, series := createTimeseries(2 * config.DefaultQueueConfig.MaxSamplesPerSend)
|
||||||
m.seriesLabels = refSeriesToLabelsProto(series)
|
m.seriesLabels = refSeriesToLabelsProto(series)
|
||||||
m.Start()
|
m.Start()
|
||||||
|
@ -157,7 +179,11 @@ func TestSeriesReset(t *testing.T) {
|
||||||
numSegments := 4
|
numSegments := 4
|
||||||
numSeries := 25
|
numSeries := 25
|
||||||
|
|
||||||
m := NewQueueManager(nil, "", newEWMARate(ewmaWeight, shardUpdateDuration), &temp, config.DefaultQueueConfig, nil, nil, c, deadline, 0)
|
dir, err := ioutil.TempDir("", "TestSeriesReset")
|
||||||
|
testutil.Ok(t, err)
|
||||||
|
defer os.RemoveAll(dir)
|
||||||
|
|
||||||
|
m := NewQueueManager(nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), &temp, config.DefaultQueueConfig, nil, nil, c, deadline, 0)
|
||||||
for i := 0; i < numSegments; i++ {
|
for i := 0; i < numSegments; i++ {
|
||||||
series := []tsdb.RefSeries{}
|
series := []tsdb.RefSeries{}
|
||||||
for j := 0; j < numSeries; j++ {
|
for j := 0; j < numSeries; j++ {
|
||||||
|
@ -182,7 +208,12 @@ func TestReshard(t *testing.T) {
|
||||||
cfg.MaxShards = 1
|
cfg.MaxShards = 1
|
||||||
|
|
||||||
var temp int64
|
var temp int64
|
||||||
m := NewQueueManager(nil, "", newEWMARate(ewmaWeight, shardUpdateDuration), &temp, cfg, nil, nil, c, defaultFlushDeadline, 0)
|
|
||||||
|
dir, err := ioutil.TempDir("", "TestReshard")
|
||||||
|
testutil.Ok(t, err)
|
||||||
|
defer os.RemoveAll(dir)
|
||||||
|
|
||||||
|
m := NewQueueManager(nil, dir, newEWMARate(ewmaWeight, shardUpdateDuration), &temp, cfg, nil, nil, c, defaultFlushDeadline, 0)
|
||||||
m.seriesLabels = refSeriesToLabelsProto(series)
|
m.seriesLabels = refSeriesToLabelsProto(series)
|
||||||
|
|
||||||
m.Start()
|
m.Start()
|
||||||
|
|
|
@ -224,7 +224,7 @@ func (w *WALWatcher) findSegmentForIndex(index int) (int, error) {
|
||||||
refs = append(refs, k)
|
refs = append(refs, k)
|
||||||
last = k
|
last = k
|
||||||
}
|
}
|
||||||
sort.Sort(sort.IntSlice(refs))
|
sort.Ints(refs)
|
||||||
|
|
||||||
for _, r := range refs {
|
for _, r := range refs {
|
||||||
if r >= index {
|
if r >= index {
|
||||||
|
|
|
@ -372,20 +372,17 @@ func Test_decodeRecord(t *testing.T) {
|
||||||
defer os.RemoveAll(dir)
|
defer os.RemoveAll(dir)
|
||||||
|
|
||||||
wt := newWriteToMock()
|
wt := newWriteToMock()
|
||||||
// st := timestamp.FromTime(time.Now().Add(-10 * time.Second))
|
|
||||||
watcher := NewWALWatcher(nil, "", wt, dir, 0)
|
watcher := NewWALWatcher(nil, "", wt, dir, 0)
|
||||||
|
|
||||||
// decode a series record
|
|
||||||
enc := tsdb.RecordEncoder{}
|
enc := tsdb.RecordEncoder{}
|
||||||
buf := enc.Series([]tsdb.RefSeries{tsdb.RefSeries{Ref: 1234, Labels: labels.Labels{}}}, nil)
|
buf := enc.Series([]tsdb.RefSeries{tsdb.RefSeries{Ref: 1234, Labels: labels.Labels{}}}, nil)
|
||||||
watcher.decodeRecord(buf)
|
watcher.decodeRecord(buf, 0)
|
||||||
testutil.Ok(t, err)
|
testutil.Ok(t, err)
|
||||||
|
|
||||||
testutil.Equals(t, 1, wt.checkNumLabels())
|
testutil.Equals(t, 1, wt.checkNumLabels())
|
||||||
|
|
||||||
// decode a samples record
|
|
||||||
buf = enc.Samples([]tsdb.RefSample{tsdb.RefSample{Ref: 100, T: 1, V: 1.0}, tsdb.RefSample{Ref: 100, T: 2, V: 2.0}}, nil)
|
buf = enc.Samples([]tsdb.RefSample{tsdb.RefSample{Ref: 100, T: 1, V: 1.0}, tsdb.RefSample{Ref: 100, T: 2, V: 2.0}}, nil)
|
||||||
watcher.decodeRecord(buf)
|
watcher.decodeRecord(buf, 0)
|
||||||
testutil.Ok(t, err)
|
testutil.Ok(t, err)
|
||||||
|
|
||||||
testutil.Equals(t, 2, wt.samplesAppended)
|
testutil.Equals(t, 2, wt.samplesAppended)
|
||||||
|
@ -397,20 +394,17 @@ func Test_decodeRecord_afterStart(t *testing.T) {
|
||||||
defer os.RemoveAll(dir)
|
defer os.RemoveAll(dir)
|
||||||
|
|
||||||
wt := newWriteToMock()
|
wt := newWriteToMock()
|
||||||
// st := timestamp.FromTime(time.Now().Add(-10 * time.Second))
|
|
||||||
watcher := NewWALWatcher(nil, "", wt, dir, 1)
|
watcher := NewWALWatcher(nil, "", wt, dir, 1)
|
||||||
|
|
||||||
// decode a series record
|
|
||||||
enc := tsdb.RecordEncoder{}
|
enc := tsdb.RecordEncoder{}
|
||||||
buf := enc.Series([]tsdb.RefSeries{tsdb.RefSeries{Ref: 1234, Labels: labels.Labels{}}}, nil)
|
buf := enc.Series([]tsdb.RefSeries{tsdb.RefSeries{Ref: 1234, Labels: labels.Labels{}}}, nil)
|
||||||
watcher.decodeRecord(buf)
|
watcher.decodeRecord(buf, 0)
|
||||||
testutil.Ok(t, err)
|
testutil.Ok(t, err)
|
||||||
|
|
||||||
testutil.Equals(t, 1, wt.checkNumLabels())
|
testutil.Equals(t, 1, wt.checkNumLabels())
|
||||||
|
|
||||||
// decode a samples record
|
|
||||||
buf = enc.Samples([]tsdb.RefSample{tsdb.RefSample{Ref: 100, T: 1, V: 1.0}, tsdb.RefSample{Ref: 100, T: 2, V: 2.0}}, nil)
|
buf = enc.Samples([]tsdb.RefSample{tsdb.RefSample{Ref: 100, T: 1, V: 1.0}, tsdb.RefSample{Ref: 100, T: 2, V: 2.0}}, nil)
|
||||||
watcher.decodeRecord(buf)
|
watcher.decodeRecord(buf, 0)
|
||||||
testutil.Ok(t, err)
|
testutil.Ok(t, err)
|
||||||
|
|
||||||
testutil.Equals(t, 1, wt.samplesAppended)
|
testutil.Equals(t, 1, wt.samplesAppended)
|
||||||
|
|
Loading…
Reference in a new issue