Skip to content

Commit

Permalink
ethdb/pebble: cap memory table size as maxMemTableSize-1 (ethereum#28444
Browse files Browse the repository at this point in the history
  • Loading branch information
flywukong authored Jan 3, 2024
1 parent 7c8fa2b commit a25a214
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions ethdb/pebble/pebble.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,15 @@ func New(file string, cache int, handles int, namespace string, readonly bool) (
// including a frozen memory table and another live one.
memTableLimit := 2
memTableSize := cache * 1024 * 1024 / 2 / memTableLimit
if memTableSize > maxMemTableSize {
memTableSize = maxMemTableSize

// The memory table size is currently capped at maxMemTableSize-1 due to a
// known bug in the pebble where maxMemTableSize is not recognized as a
// valid size.
//
// TODO use the maxMemTableSize as the maximum table size once the issue
// in pebble is fixed.
if memTableSize >= maxMemTableSize {
memTableSize = maxMemTableSize - 1
}

logger.Info("Allocated cache and file handles", "cache", common.StorageSize(cache*1024*1024),
Expand Down

0 comments on commit a25a214

Please sign in to comment.