apple / apple/foundationdb

Limit outstanding client requests to the cluster

Open
#2,797 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

It is currently possible for clients to accumulate large numbers of outstanding requests. In some situations, such as network thread saturation or disconnection from the cluster, it can happen that many requests queue up and then get submitted to the cluster very rapidly, overwhelming server processes.

To prevent this, we could institute a limiting mechanism to the number of requests that are outstanding on a client. This could be used to fail requests that exceed our limits without them ever being sent.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the client-side path that queues and submits outstanding requests to the cluster. Define how the limit is configured and how excess requests fail before being sent; done means clients cannot accumulate or rapidly submit requests beyond the chosen limit.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.