@@ -424,7 +424,6 @@ func DefaultPebbleOptions() *pebble.Options {
424
424
L0CompactionThreshold : 2 ,
425
425
L0StopWritesThreshold : 1000 ,
426
426
LBaseMaxBytes : 64 << 20 , // 64 MB
427
- Levels : make ([]pebble.LevelOptions , 7 ),
428
427
MemTableSize : 64 << 20 , // 64 MB
429
428
MemTableStopWritesThreshold : 4 ,
430
429
Merger : MVCCMerger ,
@@ -463,16 +462,21 @@ func DefaultPebbleOptions() *pebble.Options {
463
462
464
463
opts .Experimental .UserKeyCategories = userKeyCategories
465
464
466
- for i := 0 ; i < len (opts .Levels ); i ++ {
465
+ opts .Levels [0 ] = pebble.LevelOptions {
466
+ BlockSize : 32 << 10 , // 32 KB
467
+ IndexBlockSize : 256 << 10 , // 256 KB
468
+ FilterPolicy : bloom .FilterPolicy (10 ),
469
+ FilterType : pebble .TableFilter ,
470
+ }
471
+ opts .Levels [0 ].EnsureL0Defaults ()
472
+ for i := 1 ; i < len (opts .Levels ); i ++ {
467
473
l := & opts .Levels [i ]
468
474
l .BlockSize = 32 << 10 // 32 KB
469
475
l .IndexBlockSize = 256 << 10 // 256 KB
470
476
l .FilterPolicy = bloom .FilterPolicy (10 )
471
477
l .FilterType = pebble .TableFilter
472
- if i > 0 {
473
- l .TargetFileSize = opts .Levels [i - 1 ].TargetFileSize * 2
474
- }
475
- l .EnsureDefaults ()
478
+ l .TargetFileSize = opts .Levels [i - 1 ].TargetFileSize * 2
479
+ l .EnsureL1PlusDefaults (& opts .Levels [i - 1 ])
476
480
}
477
481
478
482
// These size classes are a subset of available size classes in jemalloc[1].
0 commit comments