Skip to content

Commit 4ecafa2

Browse files
authored
cleanup sstable file after tests (#1912)
1 parent 4c0bf40 commit 4ecafa2

File tree

4 files changed

+26
-11
lines changed

4 files changed

+26
-11
lines changed

badger/cmd/pick_table_bench.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,13 @@ func pickTableBench(cmd *cobra.Command, args []string) error {
7474

7575
boundaries := getBoundaries(db)
7676
tables := genTables(boundaries)
77+
defer func() {
78+
for _, tbl := range tables {
79+
if err := tbl.DecrRef(); err != nil {
80+
panic(err)
81+
}
82+
}
83+
}()
7784
handler.init(tables)
7885
keys, err = getSampleKeys(db, pickOpts.sampleSize)
7986
y.Check(err)

iterator_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ func TestPickSortTables(t *testing.T) {
8484
opts := table.Options{ChkMode: options.OnTableAndBlockRead}
8585
tbl := buildTable(t, [][]string{{mk.small, "some value"},
8686
{mk.large, "some value"}}, opts)
87+
defer func() { require.NoError(t, tbl.DecrRef()) }()
8788
out = append(out, tbl)
8889
}
8990
return out

table/builder_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ func TestInvalidCompression(t *testing.T) {
143143
keyPrefix := "key"
144144
opts := Options{BlockSize: 4 << 10, Compression: options.ZSTD}
145145
tbl := buildTestTable(t, keyPrefix, 1000, opts)
146+
defer func() { require.NoError(t, tbl.DecrRef()) }()
146147
mf := tbl.MmapFile
147148
t.Run("with correct decompression algo", func(t *testing.T) {
148149
_, err := OpenTable(mf, opts)
@@ -237,6 +238,7 @@ func TestBloomfilter(t *testing.T) {
237238
opts.BloomFalsePositive = 0.01
238239
}
239240
tab := buildTestTable(t, keyPrefix, keyCount, opts)
241+
defer func() { require.NoError(t, tab.DecrRef()) }()
240242
require.Equal(t, withBlooms, tab.hasBloomFilter)
241243
// Forward iteration
242244
it := tab.NewIterator(0)

table/table_test.go

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,6 @@ func TestConcatIteratorOneTable(t *testing.T) {
367367
{"k1", "a1"},
368368
{"k2", "a2"},
369369
}, opts)
370-
371370
defer func() { require.NoError(t, tbl.DecrRef()) }()
372371

373372
it := NewConcatIterator([]*Table{tbl}, 0)
@@ -385,10 +384,10 @@ func TestConcatIteratorOneTable(t *testing.T) {
385384
func TestConcatIterator(t *testing.T) {
386385
opts := getTestTableOptions()
387386
tbl := buildTestTable(t, "keya", 10000, opts)
388-
tbl2 := buildTestTable(t, "keyb", 10000, opts)
389-
tbl3 := buildTestTable(t, "keyc", 10000, opts)
390387
defer func() { require.NoError(t, tbl.DecrRef()) }()
388+
tbl2 := buildTestTable(t, "keyb", 10000, opts)
391389
defer func() { require.NoError(t, tbl2.DecrRef()) }()
390+
tbl3 := buildTestTable(t, "keyc", 10000, opts)
392391
defer func() { require.NoError(t, tbl3.DecrRef()) }()
393392

394393
{
@@ -464,11 +463,14 @@ func TestMergingIterator(t *testing.T) {
464463
{"k4", "a4"},
465464
{"k5", "a5"},
466465
}, opts)
466+
defer func() { require.NoError(t, tbl1.DecrRef()) }()
467+
467468
tbl2 := buildTable(t, [][]string{
468469
{"k2", "b2"},
469470
{"k3", "b3"},
470471
{"k4", "b4"},
471472
}, opts)
473+
defer func() { require.NoError(t, tbl2.DecrRef()) }()
472474

473475
expected := []struct {
474476
key string
@@ -480,8 +482,7 @@ func TestMergingIterator(t *testing.T) {
480482
{"k4", "a4"},
481483
{"k5", "a5"},
482484
}
483-
defer func() { require.NoError(t, tbl1.DecrRef()) }()
484-
defer func() { require.NoError(t, tbl2.DecrRef()) }()
485+
485486
it1 := tbl1.NewIterator(0)
486487
it2 := NewConcatIterator([]*Table{tbl2}, 0)
487488
it := NewMergeIterator([]y.Iterator{it1, it2}, false)
@@ -508,12 +509,15 @@ func TestMergingIteratorReversed(t *testing.T) {
508509
{"k4", "a4"},
509510
{"k5", "a5"},
510511
}, opts)
512+
defer func() { require.NoError(t, tbl1.DecrRef()) }()
513+
511514
tbl2 := buildTable(t, [][]string{
512515
{"k1", "b2"},
513516
{"k3", "b3"},
514517
{"k4", "b4"},
515518
{"k5", "b5"},
516519
}, opts)
520+
defer func() { require.NoError(t, tbl2.DecrRef()) }()
517521

518522
expected := []struct {
519523
key string
@@ -525,8 +529,7 @@ func TestMergingIteratorReversed(t *testing.T) {
525529
{"k2", "a2"},
526530
{"k1", "a1"},
527531
}
528-
defer func() { require.NoError(t, tbl1.DecrRef()) }()
529-
defer func() { require.NoError(t, tbl2.DecrRef()) }()
532+
530533
it1 := tbl1.NewIterator(REVERSED)
531534
it2 := NewConcatIterator([]*Table{tbl2}, REVERSED)
532535
it := NewMergeIterator([]y.Iterator{it1, it2}, true)
@@ -553,9 +556,8 @@ func TestMergingIteratorTakeOne(t *testing.T) {
553556
{"k1", "a1"},
554557
{"k2", "a2"},
555558
}, opts)
556-
t2 := buildTable(t, [][]string{{"l1", "b1"}}, opts)
557-
558559
defer func() { require.NoError(t, t1.DecrRef()) }()
560+
t2 := buildTable(t, [][]string{{"l1", "b1"}}, opts)
559561
defer func() { require.NoError(t, t2.DecrRef()) }()
560562

561563
it1 := NewConcatIterator([]*Table{t1}, 0)
@@ -594,12 +596,12 @@ func TestMergingIteratorTakeOne(t *testing.T) {
594596
func TestMergingIteratorTakeTwo(t *testing.T) {
595597
opts := getTestTableOptions()
596598
t1 := buildTable(t, [][]string{{"l1", "b1"}}, opts)
599+
defer func() { require.NoError(t, t1.DecrRef()) }()
600+
597601
t2 := buildTable(t, [][]string{
598602
{"k1", "a1"},
599603
{"k2", "a2"},
600604
}, opts)
601-
602-
defer func() { require.NoError(t, t1.DecrRef()) }()
603605
defer func() { require.NoError(t, t2.DecrRef()) }()
604606

605607
it1 := NewConcatIterator([]*Table{t1}, 0)
@@ -681,6 +683,7 @@ func TestTableChecksum(t *testing.T) {
681683
opts := getTestTableOptions()
682684
opts.ChkMode = options.OnTableAndBlockRead
683685
tbl := buildTestTable(t, "k", 10000, opts)
686+
defer func() { require.NoError(t, tbl.DecrRef()) }()
684687
// Write random bytes at random location.
685688
start := rand.Intn(len(tbl.Data) - len(rb))
686689
n := copy(tbl.Data[start:], rb)
@@ -691,6 +694,8 @@ func TestTableChecksum(t *testing.T) {
691694
_, err := OpenTable(tbl.MmapFile, opts)
692695
if strings.Contains(err.Error(), "checksum") {
693696
panic("checksum mismatch")
697+
} else {
698+
require.NoError(t, err)
694699
}
695700
})
696701
}

0 commit comments

Comments
 (0)