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
Bug fix (non-breaking change which fixes an issue)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
This will insert linebreaks in large data chunks that are displayed with JSyntaxTextArea
Checklist:
[x] My code follows the code style of this project.
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: