Large request problem
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.
- There seems to be a bug in our StringWrap class, that does the insertion of linebreaks.
- 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.
- [ ] I have updated the documentation accordingly.
You saved my day I've compiled and tested your JMeter version with my project, sending a 400kb JSON With default configuration, there is still a freeze of about 1 minute But, when a set
view.results.tree.max_line_size=1000
view.results.tree.soft_wrap_line_size=1000
view.results.tree.max_size=1048576
view.results.tree.simple_view_limit=1000
Then, everything is OK, no more waits
From the above settings, I cannot tell which one helps
Hi Felix 😄
I feel this is the exact solution for my problem too ! Very long line without space inside freeze the "view result tree" GUI for minuts on jMeter 5.6.3.
So I downloaded latest valid 6.0.0 snapshot but I feel your modification was not merged yet. https://ci-builds.apache.org/job/JMeter/job/JMeter-trunk/970/
I don't have any build env ATM, do you know if I can download jmeter binaries >= 5.6.3 with your fix somewhere ? Thanks !