apple / apple/foundationdb

Ratekeeper isn't throttling when a TLog's MemoryKeyValueStore is nearly full

Open
#769 0 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

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.