Skip to content

Commit 6d9a6a2

Browse files
committed
storage: update pebble configuration code
Update Pebble configuration code to use compression definitions from `sstable` and to use the separated `TargetFileSizes`. Epic: none Release note: None
1 parent 4415a03 commit 6d9a6a2

File tree

3 files changed

+17
-21
lines changed

3 files changed

+17
-21
lines changed

pkg/storage/metamorphic/options.go

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -110,17 +110,14 @@ func randomOptions() *pebble.Options {
110110
if opts.L0StopWritesThreshold < opts.L0CompactionThreshold {
111111
opts.L0StopWritesThreshold = opts.L0CompactionThreshold
112112
}
113-
for i := range opts.Levels {
114-
if i == 0 {
115-
opts.Levels[i].BlockRestartInterval = int(rngIntRange(rng, 1, 64))
116-
opts.Levels[i].BlockSize = 1 << rngIntRange(rng, 1, 20)
117-
opts.Levels[i].BlockSizeThreshold = int(rngIntRange(rng, 50, 100))
118-
opts.Levels[i].IndexBlockSize = opts.Levels[i].BlockSize
119-
opts.Levels[i].TargetFileSize = 1 << rngIntRange(rng, 1, 20)
120-
} else {
121-
opts.Levels[i] = opts.Levels[i-1]
122-
opts.Levels[i].TargetFileSize = opts.Levels[i-1].TargetFileSize * 2
123-
}
113+
opts.Levels[0].BlockRestartInterval = int(rngIntRange(rng, 1, 64))
114+
opts.Levels[0].BlockSize = 1 << rngIntRange(rng, 1, 20)
115+
opts.Levels[0].BlockSizeThreshold = int(rngIntRange(rng, 50, 100))
116+
opts.Levels[0].IndexBlockSize = opts.Levels[0].BlockSize
117+
opts.TargetFileSizes[0] = 1 << rngIntRange(rng, 1, 20)
118+
for i := 1; i < len(opts.Levels); i++ {
119+
opts.Levels[i] = opts.Levels[i-1]
120+
opts.TargetFileSizes[i] = opts.TargetFileSizes[i-1] * 2
124121
}
125122
opts.MaxManifestFileSize = 1 << rngIntRange(rng, 1, 28)
126123
opts.MaxOpenFiles = int(rngIntRange(rng, 20, 2000))

pkg/storage/open.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ func BlockSize(size int) ConfigOption {
127127
// primarily for testing purposes.
128128
func TargetFileSize(size int64) ConfigOption {
129129
return func(cfg *engineConfig) error {
130-
for i := range cfg.opts.Levels {
131-
cfg.opts.Levels[i].TargetFileSize = size
130+
for i := range cfg.opts.TargetFileSizes {
131+
cfg.opts.TargetFileSizes[i] = size
132132
}
133133
return nil
134134
}

pkg/storage/pebble.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -267,20 +267,20 @@ func getCompressionProfile(
267267
ctx context.Context,
268268
settings *cluster.Settings,
269269
setting *settings.EnumSetting[CompressionAlgorithm],
270-
) *pebble.CompressionProfile {
270+
) *sstable.CompressionProfile {
271271
switch setting.Get(&settings.SV) {
272272
case CompressionAlgorithmSnappy:
273-
return pebble.SnappyCompression
273+
return sstable.SnappyCompression
274274
case CompressionAlgorithmZstd:
275-
return pebble.ZstdCompression
275+
return sstable.ZstdCompression
276276
case CompressionAlgorithmNone:
277-
return pebble.NoCompression
277+
return sstable.NoCompression
278278
case CompressionAlgorithmMinLZ:
279-
return pebble.MinLZCompression
279+
return sstable.MinLZCompression
280280
case CompressionAlgorithmFastest:
281-
return pebble.FastestCompression
281+
return sstable.FastestCompression
282282
default:
283-
return pebble.DefaultCompression
283+
return sstable.DefaultCompression
284284
}
285285
}
286286

@@ -494,7 +494,6 @@ func DefaultPebbleOptions() *pebble.Options {
494494
l.IndexBlockSize = 256 << 10 // 256 KB
495495
l.FilterPolicy = bloom.FilterPolicy(10)
496496
l.FilterType = pebble.TableFilter
497-
l.TargetFileSize = opts.Levels[i-1].TargetFileSize * 2
498497
l.EnsureL1PlusDefaults(&opts.Levels[i-1])
499498
}
500499

0 commit comments

Comments
 (0)