Bug 53540 - HTTP Cache Manager - 304 not modified on the main page does not retrieve the embedded resources
Summary: HTTP Cache Manager - 304 not modified on the main page does not retrieve the ...
Alias: None
Product: JMeter - Now in Github
Classification: Unclassified
Component: HTTP (show other bugs)
Version: 2.7
Hardware: All All
: P1 normal (vote)
Target Milestone: ---
Assignee: JMeter issues mailing list
Depends on:
Reported: 2012-07-12 10:37 UTC by Alex
Modified: 2014-10-22 22:08 UTC (History)
2 users (show)

Cache Manager Problem (64.66 KB, image/jpeg)
2012-07-12 10:37 UTC, Alex

Note You need to log in before you can comment on or make changes to this bug.
Description Alex 2012-07-12 10:37:50 UTC
Created attachment 29052 [details]
Cache Manager Problem

If the resource being accessed in the main http request (with HTTP Cache Manager enabled of course) gets "304 not modified" as an answer, the resources embedded will no longer be retrieved. 

If we had any javascript objects, or specific dynamic files embedded, these will therefore not be downloaded. 


Thread Manager with two repetitions;
Simple HTTP Request (GET) containing some 104 embedded resources

First request: response code 200 for all resources
Second request: response code 304 not modified only for the main request, additional embedded resources are not downloaded

This is very inconvenient, as retrieving each resource separately is not an option, because it cannot be done using concurrent pools, therefore no "cached content" tests can be performed....

or is there a solution out there?

Comment 1 Alex 2012-07-12 10:51:28 UTC
I just implemented a workaround. I added a dynamic parameter at the end of the request, so that the main request will always be newly loaded. It works this way, but it only works because this is a configuration error in Apache...it shouldn't be actually allowed. lucky me:)
Comment 2 Sebb 2012-07-12 16:41:20 UTC
Bugzilla is not a support forum.

Please subscribe to the JMeter user list and ask there; thanks.
Comment 3 Alex 2012-07-13 09:25:18 UTC
I see this as bug, not as an enhancement. Stopping on the main request does not dive in the embedded resources, therefore not retrieving possibly new content.

If you still think it is a "support" issue, close it.
Comment 4 Philippe Mouawad 2012-07-14 18:49:16 UTC
I cannot find what the spec says about this:
- If resource is coming from Cache , should embedded resources be checked or not ?
Comment 5 Philippe Mouawad 2012-08-22 10:09:25 UTC
After further thinking, I agree that embedded resources should be checked.
As in a browser main page would be rendered and each resoutce checked.
Sebb, milamber, any thoughts ?
Comment 6 Sebb 2012-08-22 15:04:30 UTC
JMeter does not cache the page contents, only summary details, so this would require saving more data.

Rather than saving the whole page, one could perhaps save just the parsed URLs.
This would be the cheapest option.

Maybe there should be a Cache Manager option to save the entire page, as that would then be displayable in the Listeners, and would allow post-processors.

This would likely have to be a disk cache to avoid memory issues - is there some ASF software to do this?
Comment 7 Philippe Mouawad 2013-09-28 20:59:19 UTC
EhCache provides this.
Comment 8 The ASF infrastructure team 2022-09-24 20:37:50 UTC
This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/2861