Skip to content

Commit 32dc26d

Browse files
committed
db: clean up some nil Options paths
We no longer use nil Options; clean up some paths that tolerated it.
1 parent 3214797 commit 32dc26d

File tree

10 files changed

+43
-48
lines changed

10 files changed

+43
-48
lines changed

compaction_picker_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func loadVersion(
3838
) (*manifest.Version, *latestVersionState, *Options, string) {
3939
var sizes [numLevels]int64
4040
opts := &Options{}
41-
opts.testingRandomized(t)
41+
opts.randomizeForTesting(t)
4242
opts.EnsureDefaults()
4343
d.ScanArgs(t, "l-base-max-bytes", &opts.LBaseMaxBytes)
4444
var files [numLevels][]*manifest.TableMetadata

compaction_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@ func TestAutomaticFlush(t *testing.T) {
585585
Logger: testutils.Logger{T: t},
586586
MemTableSize: memTableSize,
587587
}
588-
opts = opts.testingRandomized(t)
588+
opts.randomizeForTesting(t)
589589
opts.WithFSDefaults()
590590
d, err := Open("", opts)
591591
if err != nil {
@@ -2478,7 +2478,7 @@ func TestCompactionErrorCleanup(t *testing.T) {
24782478
for i := range opts.TargetFileSizes {
24792479
opts.TargetFileSizes[i] = 1
24802480
}
2481-
opts.testingRandomized(t)
2481+
opts.randomizeForTesting(t)
24822482
d, err := Open("", opts)
24832483
require.NoError(t, err)
24842484

@@ -3227,7 +3227,7 @@ func TestCompactionErrorStats(t *testing.T) {
32273227
for i := range opts.TargetFileSizes {
32283228
opts.TargetFileSizes[i] = 1
32293229
}
3230-
opts.testingRandomized(t)
3230+
opts.randomizeForTesting(t)
32313231
d, err := Open("", opts)
32323232
require.NoError(t, err)
32333233

db_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -830,7 +830,7 @@ func TestMemTableReservation(t *testing.T) {
830830
FS: vfs.NewMem(),
831831
}
832832
defer opts.Cache.Unref()
833-
opts.testingRandomized(t)
833+
opts.randomizeForTesting(t)
834834
opts.EnsureDefaults()
835835

836836
// Add a block to the cache. Note that the memtable size is larger than the
@@ -974,7 +974,7 @@ func TestRollManifest(t *testing.T) {
974974
NumPrevManifest: int(toPreserve),
975975
}
976976
opts.DisableAutomaticCompactions = true
977-
opts.testingRandomized(t)
977+
opts.randomizeForTesting(t)
978978
d, err := Open("", opts)
979979
require.NoError(t, err)
980980

external_iterator_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func TestExternalIterator(t *testing.T) {
2828
FormatMajorVersion: internalFormatNewest,
2929
Comparer: testkeys.Comparer,
3030
}
31-
o.testingRandomized(t)
31+
o.randomizeForTesting(t)
3232
o.EnsureDefaults()
3333
d, err := Open("", o)
3434
require.NoError(t, err)

ingest_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2179,7 +2179,7 @@ func TestIngestFlushQueuedMemTable(t *testing.T) {
21792179

21802180
mem := vfs.NewMem()
21812181
o := &Options{FS: mem}
2182-
o.testingRandomized(t)
2182+
o.randomizeForTesting(t)
21832183
d, err := Open("", o)
21842184
require.NoError(t, err)
21852185

iterator_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1577,7 +1577,7 @@ func newTestkeysDatabase(t *testing.T, ks testkeys.Keyspace, rng *rand.Rand) *DB
15771577
FS: vfs.NewMem(),
15781578
Logger: panicLogger{},
15791579
}
1580-
dbOpts.testingRandomized(t)
1580+
dbOpts.randomizeForTesting(t)
15811581
d, err := Open("", dbOpts)
15821582
require.NoError(t, err)
15831583

@@ -1627,7 +1627,7 @@ func newPointTestkeysDatabase(t *testing.T, ks testkeys.Keyspace) *DB {
16271627
Comparer: testkeys.Comparer,
16281628
FS: vfs.NewMem(),
16291629
}
1630-
dbOpts.testingRandomized(t)
1630+
dbOpts.randomizeForTesting(t)
16311631
d, err := Open("", dbOpts)
16321632
require.NoError(t, err)
16331633

open_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1342,7 +1342,7 @@ func TestOpenWALReplayMemtableGrowth(t *testing.T) {
13421342
MemTableSize: memTableSize,
13431343
FS: mem,
13441344
}
1345-
opts.testingRandomized(t)
1345+
opts.randomizeForTesting(t)
13461346
func() {
13471347
db, err := Open("", opts)
13481348
require.NoError(t, err)
@@ -1385,7 +1385,7 @@ func TestGetVersion(t *testing.T) {
13851385
opts := &Options{
13861386
FS: mem,
13871387
}
1388-
opts.testingRandomized(t)
1388+
opts.randomizeForTesting(t)
13891389

13901390
// Case 1: No options file.
13911391
version, err := GetVersion("", mem)

options.go

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2535,29 +2535,38 @@ func (o *Options) Validate() error {
25352535
// MakeReaderOptions constructs sstable.ReaderOptions from the corresponding
25362536
// options in the receiver.
25372537
func (o *Options) MakeReaderOptions() sstable.ReaderOptions {
2538-
var readerOpts sstable.ReaderOptions
2539-
if o != nil {
2540-
readerOpts.Comparer = o.Comparer
2541-
readerOpts.Filters = o.Filters
2542-
readerOpts.KeySchemas = o.KeySchemas
2543-
readerOpts.LoadBlockSema = o.LoadBlockSema
2544-
readerOpts.LoggerAndTracer = o.LoggerAndTracer
2545-
readerOpts.Merger = o.Merger
2546-
}
2547-
return readerOpts
2538+
return sstable.ReaderOptions{
2539+
Comparer: o.Comparer,
2540+
Filters: o.Filters,
2541+
KeySchemas: o.KeySchemas,
2542+
Merger: o.Merger,
2543+
ReaderOptions: block.ReaderOptions{
2544+
LoadBlockSema: o.LoadBlockSema,
2545+
LoggerAndTracer: o.LoggerAndTracer,
2546+
},
2547+
}
25482548
}
25492549

25502550
// MakeWriterOptions constructs sstable.WriterOptions for the specified level
25512551
// from the corresponding options in the receiver.
25522552
func (o *Options) MakeWriterOptions(level int, format sstable.TableFormat) sstable.WriterOptions {
2553-
var writerOpts sstable.WriterOptions
2554-
writerOpts.TableFormat = format
2555-
if o != nil {
2556-
writerOpts.Comparer = o.Comparer
2557-
if o.Merger != nil {
2558-
writerOpts.MergerName = o.Merger.Name
2553+
writerOpts := sstable.WriterOptions{
2554+
TableFormat: format,
2555+
Comparer: o.Comparer,
2556+
BlockPropertyCollectors: o.BlockPropertyCollectors,
2557+
AllocatorSizeClasses: o.AllocatorSizeClasses,
2558+
NumDeletionsThreshold: o.Experimental.NumDeletionsThreshold,
2559+
DeletionSizeRatioThreshold: o.Experimental.DeletionSizeRatioThreshold,
2560+
}
2561+
if o.Merger != nil {
2562+
writerOpts.MergerName = o.Merger.Name
2563+
}
2564+
if o.KeySchema != "" {
2565+
var ok bool
2566+
writerOpts.KeySchema, ok = o.KeySchemas[o.KeySchema]
2567+
if !ok {
2568+
panic(fmt.Sprintf("invalid schema %q", redact.Safe(o.KeySchema)))
25592569
}
2560-
writerOpts.BlockPropertyCollectors = o.BlockPropertyCollectors
25612570
}
25622571
if format >= sstable.TableFormatPebblev3 {
25632572
writerOpts.ShortAttributeExtractor = o.Experimental.ShortAttributeExtractor
@@ -2573,16 +2582,6 @@ func (o *Options) MakeWriterOptions(level int, format sstable.TableFormat) sstab
25732582
writerOpts.FilterPolicy = levelOpts.FilterPolicy
25742583
writerOpts.FilterType = levelOpts.FilterType
25752584
writerOpts.IndexBlockSize = levelOpts.IndexBlockSize
2576-
if o.KeySchema != "" {
2577-
var ok bool
2578-
writerOpts.KeySchema, ok = o.KeySchemas[o.KeySchema]
2579-
if !ok {
2580-
panic(fmt.Sprintf("invalid schema %q", redact.Safe(o.KeySchema)))
2581-
}
2582-
}
2583-
writerOpts.AllocatorSizeClasses = o.AllocatorSizeClasses
2584-
writerOpts.NumDeletionsThreshold = o.Experimental.NumDeletionsThreshold
2585-
writerOpts.DeletionSizeRatioThreshold = o.Experimental.DeletionSizeRatioThreshold
25862585
return writerOpts
25872586
}
25882587

options_test.go

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,9 @@ import (
2525
"github.com/stretchr/testify/require"
2626
)
2727

28-
// testingRandomized randomizes some default options. Currently, it's
28+
// randomizeForTesting randomizes some default options. Currently, it's
2929
// used for testing under a random format major version in some tests.
30-
func (o *Options) testingRandomized(t testing.TB) *Options {
31-
if o == nil {
32-
o = &Options{}
33-
}
30+
func (o *Options) randomizeForTesting(t testing.TB) {
3431
if o.Logger == nil {
3532
o.Logger = testutils.Logger{T: t}
3633
}
@@ -56,11 +53,10 @@ func (o *Options) testingRandomized(t testing.TB) *Options {
5653
o.Experimental.ValueSeparationPolicy = func() ValueSeparationPolicy { return policy }
5754
}
5855
o.EnsureDefaults()
59-
return o
6056
}
6157

6258
func testingRandomized(t testing.TB, o *Options) *Options {
63-
o.testingRandomized(t)
59+
o.randomizeForTesting(t)
6460
return o
6561
}
6662

@@ -614,7 +610,7 @@ func TestKeyCategories(t *testing.T) {
614610

615611
func TestApplyDBCompressionSettings(t *testing.T) {
616612
var o Options
617-
o.testingRandomized(t)
613+
o.randomizeForTesting(t)
618614

619615
var profile DBCompressionSettings
620616
o.ApplyCompressionSettings(func() DBCompressionSettings {

table_stats_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ func TestStatsAfterReopen(t *testing.T) {
294294
}
295295
opts.Levels[0].BlockSize = 50
296296
opts.TargetFileSizes[0] = 100
297-
opts.testingRandomized(t)
297+
opts.randomizeForTesting(t)
298298
// We need at least FormatV2BlobFiles to retrieve blob file compression
299299
// statistics.
300300
opts.FormatMajorVersion = max(opts.FormatMajorVersion, FormatV2BlobFiles)

0 commit comments

Comments
 (0)