dotnet / dotnet/aspnetcore

Add configuration to increase or disable client RST_STREAM rate limiting

Open
#13,668 3 comments 0 reactions 0 assignees View on GitHub
affected-very-few area-networking enhancement feature-kestrel severity-nice-to-have
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 10h
Merged PRs (30d)
281

Description

ASP.NET is rate-limiting client-initiated stream cancellation (i.e. RST_STREAM from the client). When it determines that the client is cancelling too many streams, it will start failing new streams with ENHANCE_YOUR_CALM. See discussion here: See https://github.com/dotnet/corefx/issues/40663#issuecomment-527611116

This makes it hard to perform stress testing, particularly with certain settings like low MaxStreamsPerConnection or high client cancellation rate.

It would be nice to add a setting to increase or disable the client cancellation rate limit.

Contributor guide

Open the contributing guide

Research direction

Start with the linked corefx discussion and locate the ASP.NET Core HTTP/2 handling for client-initiated RST_STREAM cancellations and the existing rate-limit behavior. Determine where a configurable increase or disable option belongs, then verify that stress tests with low MaxStreamsPerConnection and frequent cancellations no longer receive unexpected ENHANCE_YOUR_CALM failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 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.