Ratekeeper isn't throttling when a TLog's MemoryKeyValueStore is nearly full
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
From [a forum post](https://forums.foundationdb.org/t/how-to-prevent-tlogs-from-overcommitting/695), it appears that Ratekeeper isn't correctly kicking in when a TLog is configured to use the memory storage engine as its IKeyValueStore implementation, and that memory storage engine is nearly full.
This could either be an issue on the ratekeeper side, or the MemoryKeyValueStore side.
Note that #768 suggests changing FDB in a way such that it would require a very intentional and unlikely to be done `configure` statement to be run by a human to get a TLog to be running a MemoryKeyValueStore as its spilling storage engine, so being in this situation would be very unlikely once #768 is addressed.
Contributor guide
Research direction
Start with the forum report and trace the interaction between Ratekeeper and the MemoryKeyValueStore when a TLog's memory storage is nearly full. Determine whether the missing throttling originates in Ratekeeper or the memory storage engine; the issue is done when this configuration reliably triggers the intended throttling behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- databases, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100