@@ -410,7 +410,6 @@ func DefaultPebbleOptions() *pebble.Options {
410
410
L0CompactionThreshold : 2 ,
411
411
L0StopWritesThreshold : 1000 ,
412
412
LBaseMaxBytes : 64 << 20 , // 64 MB
413
- Levels : make ([]pebble.LevelOptions , 7 ),
414
413
MemTableSize : 64 << 20 , // 64 MB
415
414
MemTableStopWritesThreshold : 4 ,
416
415
Merger : MVCCMerger ,
@@ -449,16 +448,21 @@ func DefaultPebbleOptions() *pebble.Options {
449
448
450
449
opts .Experimental .UserKeyCategories = userKeyCategories
451
450
452
- for i := 0 ; i < len (opts .Levels ); i ++ {
451
+ opts .Levels [0 ] = pebble.LevelOptions {
452
+ BlockSize : 32 << 10 , // 32 KB
453
+ IndexBlockSize : 256 << 10 , // 256 KB
454
+ FilterPolicy : bloom .FilterPolicy (10 ),
455
+ FilterType : pebble .TableFilter ,
456
+ }
457
+ opts .Levels [0 ].EnsureL0Defaults ()
458
+ for i := 1 ; i < len (opts .Levels ); i ++ {
453
459
l := & opts .Levels [i ]
454
460
l .BlockSize = 32 << 10 // 32 KB
455
461
l .IndexBlockSize = 256 << 10 // 256 KB
456
462
l .FilterPolicy = bloom .FilterPolicy (10 )
457
463
l .FilterType = pebble .TableFilter
458
- if i > 0 {
459
- l .TargetFileSize = opts .Levels [i - 1 ].TargetFileSize * 2
460
- }
461
- l .EnsureDefaults ()
464
+ l .TargetFileSize = opts .Levels [i - 1 ].TargetFileSize * 2
465
+ l .EnsureL1PlusDefaults (& opts .Levels [i - 1 ])
462
466
}
463
467
464
468
// These size classes are a subset of available size classes in jemalloc[1].
0 commit comments