apache / jmeter

Apache JMeter open-source load testing tool for analyzing and measuring the performance of a variety of services
https://jmeter.apache.org/
Apache License 2.0
8.43k stars 2.11k forks source link

Large request problem #6359

Open FSchumacher opened 1 month ago

FSchumacher commented 1 month ago

Description

Should fix large responses/requests in ViewResultRreader when no linebreaks can be found

Motivation and Context

As described in #6336 JMeter seems to crash, when large request bodies are used in HTTP sampler. This is caused by the used TextArea, which tries to find a good place for breaking and uses too much CPU for this.

One fix, we tried earlier, was to add linebreaks, when large responses are shown. We forgot about requests. This fix is basically two fixes.

1) There seems to be a bug in our StringWrap class, that does the insertion of linebreaks. 2) Move the use of StringWrap into the problematic JSyntaxTextArea, so that all data that is shown by the problematic component is automatically wrapped with linebreaks.

If this fix seems to help, we could remove the usage of StringWrap in the old places.

How Has This Been Tested?

Used a simple test plan, that generates a HTTP body with ${__groovy("abc" * 1_000_000)}. Without this patch, JMeter seems to be crashed. With the fix, it will be responsive (after a short while).

Screenshots (if appropriate):

Types of changes

Checklist: