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>
pull/5289/head
Callum Styan 6 years ago committed by Tom Wilkie
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…
Cancel
Save