You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by "vlsi (via GitHub)" <gi...@apache.org> on 2023/05/12 13:38:00 UTC

[GitHub] [jmeter] vlsi commented on pull request #727: Bug 66269: Add NoThreadClone to HeaderManager to reduce heap utilization

vlsi commented on PR #727:
URL: https://github.com/apache/jmeter/pull/727#issuecomment-1545765885

   It turns out the case is harder than I thought.
   When the script has several HTTP Header Manager components at different levels, then the current JMeter approach is to merge header managers with `org.apache.jmeter.protocol.http.control.HeaderManager#merge(org.apache.jmeter.testelement.TestElement)`
   
   Apparently, that fails in case HTTP Header Managers are shared across threads.
   
   The next issue is that the "temporary" header managers are not reset after HTTP sampler execution, and they are re-created only before the next execution. In other words, even if we eliminate HTTP Header Manager cloning "before thread starts", then it would generate copies during test execution anyway.
   
   The worst thing is that `org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase#getHeaderManager() returns HeaderManager` is a public method, so changing it would likely affect backward compatibility.
   
   Frankly speaking, I'm quite disappointed by all that.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@jmeter.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org