This repository has been archived by the owner on Jun 19, 2022. It is now read-only.
Requests with very large payload (>1Gb) need to be gracefully handled #1754
Labels
area/broker
kind/bug
Something isn't working
priority/1
Blocks current release defined by release/* label or blocks current milestone
release/2
Milestone
Describe the bug
Currently, there seems to be no validation that gracefully handles the case with very large payload (>1Gb are possible). Regardless of payload size, the Broker attempts to load it in-memory, which in some cases makes it prone to out-of-memory issues.
Expected behavior
There should be a cap on payload. The Broker shouldn't attempt to process requests with payload exceeding the cap, but raise a client error (i.e. a response code like 4xx). It probably makes sense to make this cap configurable.
To Reproduce
Both of the following tests resulted in a repro, although this must also be reproducible under a lower RPS.
Test 1: Generate the load of ~100 RPS with 3.5Gb request payload.
Test 2: Generate the load of ~1000 RPS with 256Mb request payload.
Exit critera
A unit test validating this behavior.
The text was updated successfully, but these errors were encountered: