spring-cloud / spring-cloud/spring-cloud-gateway
Reproducible Leak under load when request is timed out.
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 4.9k
- Forks
- 3.5k
- Avg merge
- 20h 57m
- Merged PRs (30d)
- 8
Description
This is being tested under Greenwhich snapshot and Californium Snapshot.
I am testing this on PCF using SSL. Under load the gateway leaks memory when the response-timeout setting is used and a request surpasses the timeout.
The setup is as follows.
- Multiple get and posts are being made to the gateway via Gatling.
- The gateway is setup to terminate requests that take longer than 7500 milliseconds (setting
response-timeout). One request takes 7500 milliseconds so it will be terminated by the gateway.
After some amount of time the gateway will eventually leak memory.
Everything you need is available in this repot
The Gatling script uses version 2.3.1. You can download it here
You will have to tweak this to enable SSL or just deploy to PCF where SSL is turned on by default. In addition you will just need to configure the url in the application.yml along with the url in the Gatling Script.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked scg-leak reproduction, its application.yml, and the Gatling 2.3.1 script. Run the GET and POST load test with response-timeout set to 7500 milliseconds, using SSL or PCF as described, and observe whether gateway memory grows after timed-out requests. Done means the leak is reproduced and the timeout handling no longer causes sustained memory growth.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring, spring-boot
- Domain
- api, backend, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100