-
Notifications
You must be signed in to change notification settings - Fork 735
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High error rate in load tests for update 9 #42566
Comments
This happened after merging this PR: ballerina-platform/module-ballerina-http#1915 In this PR,
|
I did the following tests locally and observed high memory usage with update 9:
We can conclude that the high memory usage is due to the lang changes with update 9. Heap dumps can be found here: https://drive.google.com/drive/folders/1MpFqTrUuE2l3R1XwYsMIXMqByyMOcOB-?usp=sharing Please find the test source details:
$ docker run -d -p 8688:8688 ldclakmal/netty-echo-backend:latest
import ballerina/http;
final http:Client nettyEP = check new("http://localhost:8688", httpVersion = "1.1");
service /passthrough on new http:Listener(9999, httpVersion = "1.1") {
resource function post .(http:Request clientRequest) returns http:Response|error {
http:Response response = check nettyEP->forward("/service/EchoService", clientRequest);
return response;
}
}
|
Adding @warunalakshitha @MaryamZi for more information on this |
@HindujaB I was able to reduce the reproducer with this sample: import ballerina/http;
service /api on new http:Listener(9090) {
resource function get greeting(http:Request req) returns string {
return "Hello, World!";
}
} If I remove the When we have a signature parameter like |
The issue is happening due to the internally created strands not garbage collected. These strands are created to invoke record default values in a non-Ballerina-dependent environment (from |
Tested this change in the linked PR with HTTP and now load tests are having 0% error rate: Also tested the changes locally by monitoring the memory. There is no high memory usuage, the memory usage is similar to update 8: |
This issue is NOT closed with a proper Reason/ label. Make sure to add proper reason label before closing. Please add or leave a comment with the proper reason label now. |
Description:
$Subect. Seems like this happened right after we bumped the versions for update9
Ref:
https://github.com/ballerina-platform/module-ballerina-http/blob/master/load-tests/h1_h1_passthrough/results/summary.csv#L465
Steps to reproduce:
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):
Suggested Labels (optional):
Suggested Assignees (optional):
The text was updated successfully, but these errors were encountered: