apple / apple/foundationdb

Make sanity checks for memory settings on startup

Open
#2,108 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
16.7k
Forks
1.6k
Avg merge
1d 20h
Merged PRs (30d)
126

Description

We ran into some OOM issues because we started several processes with the following invalid configuration:

```
memory = 4GiB
cache_memory = 5GiB
```

This is a configuration that doesn't make sense. The problem with FDBs behavior here is that it will happily accept it and then OOM. These can be hard to track down if one doesn't know what to look for.

I think `fdbserver` should at startup make some sanity-checks with these parameters and immediately fail if the configuration is wrong.

Contributor guide

Open the contributing guide

Research direction

Start at the fdbserver startup path and trace how the memory and cache_memory settings are read and validated. Reproduce the shown configuration, then define completion as rejecting invalid settings at startup instead of allowing a configuration that can lead to OOM.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases, distributed-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.