You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2012/07/08 16:23:55 UTC
svn commit: r1358746 - in /jmeter/trunk:
src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
xdocs/changes.xml xdocs/usermanual/component_reference.xml
Author: pmouawad
Date: Sun Jul 8 14:23:54 2012
New Revision: 1358746
URL: http://svn.apache.org/viewvc?rev=1358746&view=rev
Log:
Bug 53522 - Cache Manager should not store at all response with header "no-cache" and store other types of Cache-Control having max-age value
Bugzilla Id: 53522
Modified:
jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
jmeter/trunk/xdocs/changes.xml
jmeter/trunk/xdocs/usermanual/component_reference.xml
Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java?rev=1358746&r1=1358745&r2=1358746&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java Sun Jul 8 14:23:54 2012
@@ -160,13 +160,17 @@ public class CacheManager extends Config
Date expiresDate = null; // i.e. not using Expires
if (useExpires) {// Check that we are processing Expires/CacheControl
final String MAX_AGE = "max-age=";
- // TODO - check for other CacheControl attributes?
- if (cacheControl != null && (cacheControl.contains("public") || cacheControl.contains("private")) && cacheControl.contains(MAX_AGE)) {
- long maxAgeInSecs = Long.parseLong(
- cacheControl.substring(cacheControl.indexOf(MAX_AGE)+MAX_AGE.length())
- .split("[, ]")[0] // Bug 51932 - allow for optional trailing attributes
- );
- expiresDate=new Date(System.currentTimeMillis()+maxAgeInSecs*1000);
+ if(cacheControl != null) {
+ if(cacheControl.contains("no-cache")) {
+ return;
+ }
+ if(cacheControl.contains(MAX_AGE)) {
+ long maxAgeInSecs = Long.parseLong(
+ cacheControl.substring(cacheControl.indexOf(MAX_AGE)+MAX_AGE.length())
+ .split("[, ]")[0] // Bug 51932 - allow for optional trailing attributes
+ );
+ expiresDate=new Date(System.currentTimeMillis()+maxAgeInSecs*1000);
+ }
} else if (expires != null) {
try {
expiresDate = DateUtil.parseDate(expires);
Modified: jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java?rev=1358746&r1=1358745&r2=1358746&view=diff
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java (original)
+++ jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java Sun Jul 8 14:23:54 2012
@@ -258,7 +258,7 @@ public class TestCacheManager extends JM
assertFalse("Should not find valid entry",this.cacheManager.inCache(url));
((HttpMethodStub)httpMethod).cacheControl="no-cache";
this.cacheManager.saveDetails(httpMethod, sampleResultOK);
- assertNotNull("Should find entry",getThreadCacheEntry(LOCAL_HOST));
+ assertNull("Should find entry",getThreadCacheEntry(LOCAL_HOST));
assertFalse("Should not find valid entry",this.cacheManager.inCache(url));
}
Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1358746&r1=1358745&r2=1358746&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml (original)
+++ jmeter/trunk/xdocs/changes.xml Sun Jul 8 14:23:54 2012
@@ -70,6 +70,7 @@ in ScriptEngine context, see <bugzilla>5
<h3>HTTP Samplers and Proxy</h3>
<ul>
<li><bugzilla>53521</bugzilla> - Cache Manager should cache content with Cache-control=private</li>
+<li><bugzilla>53522</bugzilla> - Cache Manager should not store at all response with header "no-cache" and store other types of Cache-Control having max-age value</li>
</ul>
<h3>Other Samplers</h3>
Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1358746&r1=1358745&r2=1358746&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sun Jul 8 14:23:54 2012
@@ -3217,7 +3217,8 @@ and if so, the If-Last-Modified and If-N
Additionally, if the "Use Cache-Control/Expires header" option is selected, then the Cache-Control/Expires value is checked against the current time.
If the request is a GET request, and the timestamp is in the future, then the sampler returns immediately,
without requesting the URL from the remote server. This is intended to emulate browser behaviour.
-Note that the Cache-Control header must be "public" and only the "max-age" expiry option is processed.
+Note that if Cache-Control header is "no-cache", response will not be stored in cache, if Cache-Control has any other value,
+only the "max-age" expiry option is processed to compute entry lifetime.
</p>
<p>
By default, Cache Manager will store up to 5000 items in cache using LRU algorithm. Use property to modify this value.
Re: svn commit: r1358746 - in /jmeter/trunk: src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
xdocs/changes.xml xdocs/usermanual/component_reference.xml
Posted by sebb <se...@gmail.com>.
Actually, I wasn't right.
Code has now been fixed to treat no-cache as per spec, i.e. it can be
cached, but must be revalidated.
On 8 July 2012 15:57, Philippe Mouawad <ph...@gmail.com> wrote:
> You're right , I fixed it.
> Thanks
>
> On Sun, Jul 8, 2012 at 4:35 PM, sebb <se...@gmail.com> wrote:
>
>> On 8 July 2012 15:23, <pm...@apache.org> wrote:
>> > Author: pmouawad
>> > Date: Sun Jul 8 14:23:54 2012
>> > New Revision: 1358746
>> >
>> > URL: http://svn.apache.org/viewvc?rev=1358746&view=rev
>> > Log:
>> > Bug 53522 - Cache Manager should not store at all response with header
>> "no-cache" and store other types of Cache-Control having max-age value
>> > Bugzilla Id: 53522
>> >
>> > Modified:
>> >
>> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
>> >
>> jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
>> > jmeter/trunk/xdocs/changes.xml
>> > jmeter/trunk/xdocs/usermanual/component_reference.xml
>> >
>> > Modified:
>> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java?rev=1358746&r1=1358745&r2=1358746&view=diff
>> >
>> ==============================================================================
>> > ---
>> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
>> (original)
>> > +++
>> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
>> Sun Jul 8 14:23:54 2012
>> > @@ -160,13 +160,17 @@ public class CacheManager extends Config
>> > Date expiresDate = null; // i.e. not using Expires
>> > if (useExpires) {// Check that we are processing
>> Expires/CacheControl
>> > final String MAX_AGE = "max-age=";
>> > - // TODO - check for other CacheControl attributes?
>> > - if (cacheControl != null &&
>> (cacheControl.contains("public") || cacheControl.contains("private")) &&
>> cacheControl.contains(MAX_AGE)) {
>> > - long maxAgeInSecs = Long.parseLong(
>> > -
>> cacheControl.substring(cacheControl.indexOf(MAX_AGE)+MAX_AGE.length())
>> > - .split("[, ]")[0] // Bug 51932 - allow for
>> optional trailing attributes
>> > - );
>> > - expiresDate=new
>> Date(System.currentTimeMillis()+maxAgeInSecs*1000);
>> > + if(cacheControl != null) {
>> > + if(cacheControl.contains("no-cache")) {
>> > + return;
>> > + }
>>
>> Surely the check for no-cache should be done regardless of whether
>> useExpires is true?
>>
>> useExpires should only be used to decide whether to use max-age or not.
>>
>> > + if(cacheControl.contains(MAX_AGE)) {
>> > + long maxAgeInSecs = Long.parseLong(
>> > +
>> cacheControl.substring(cacheControl.indexOf(MAX_AGE)+MAX_AGE.length())
>> > + .split("[, ]")[0] // Bug 51932 - allow
>> for optional trailing attributes
>> > + );
>> > + expiresDate=new
>> Date(System.currentTimeMillis()+maxAgeInSecs*1000);
>> > + }
>> > } else if (expires != null) {
>> > try {
>> > expiresDate = DateUtil.parseDate(expires);
>> >
>> > Modified:
>> jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java?rev=1358746&r1=1358745&r2=1358746&view=diff
>> >
>> ==============================================================================
>> > ---
>> jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
>> (original)
>> > +++
>> jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
>> Sun Jul 8 14:23:54 2012
>> > @@ -258,7 +258,7 @@ public class TestCacheManager extends JM
>> > assertFalse("Should not find valid
>> entry",this.cacheManager.inCache(url));
>> > ((HttpMethodStub)httpMethod).cacheControl="no-cache";
>> > this.cacheManager.saveDetails(httpMethod, sampleResultOK);
>> > - assertNotNull("Should find
>> entry",getThreadCacheEntry(LOCAL_HOST));
>> > + assertNull("Should find entry",getThreadCacheEntry(LOCAL_HOST));
>> > assertFalse("Should not find valid
>> entry",this.cacheManager.inCache(url));
>> > }
>> >
>> >
>> > Modified: jmeter/trunk/xdocs/changes.xml
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1358746&r1=1358745&r2=1358746&view=diff
>> >
>> ==============================================================================
>> > --- jmeter/trunk/xdocs/changes.xml (original)
>> > +++ jmeter/trunk/xdocs/changes.xml Sun Jul 8 14:23:54 2012
>> > @@ -70,6 +70,7 @@ in ScriptEngine context, see <bugzilla>5
>> > <h3>HTTP Samplers and Proxy</h3>
>> > <ul>
>> > <li><bugzilla>53521</bugzilla> - Cache Manager should cache content
>> with Cache-control=private</li>
>> > +<li><bugzilla>53522</bugzilla> - Cache Manager should not store at all
>> response with header "no-cache" and store other types of Cache-Control
>> having max-age value</li>
>> > </ul>
>> >
>> > <h3>Other Samplers</h3>
>> >
>> > Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1358746&r1=1358745&r2=1358746&view=diff
>> >
>> ==============================================================================
>> > --- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
>> > +++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sun Jul 8
>> 14:23:54 2012
>> > @@ -3217,7 +3217,8 @@ and if so, the If-Last-Modified and If-N
>> > Additionally, if the "Use Cache-Control/Expires header" option is
>> selected, then the Cache-Control/Expires value is checked against the
>> current time.
>> > If the request is a GET request, and the timestamp is in the future,
>> then the sampler returns immediately,
>> > without requesting the URL from the remote server. This is intended to
>> emulate browser behaviour.
>> > -Note that the Cache-Control header must be "public" and only the
>> "max-age" expiry option is processed.
>> > +Note that if Cache-Control header is "no-cache", response will not be
>> stored in cache, if Cache-Control has any other value,
>> > +only the "max-age" expiry option is processed to compute entry lifetime.
>> > </p>
>> > <p>
>> > By default, Cache Manager will store up to 5000 items in cache using
>> LRU algorithm. Use property to modify this value.
>> >
>> >
>>
>
>
>
> --
> Cordialement.
> Philippe Mouawad.
Re: svn commit: r1358746 - in /jmeter/trunk: src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
xdocs/changes.xml xdocs/usermanual/component_reference.xml
Posted by Philippe Mouawad <ph...@gmail.com>.
You're right , I fixed it.
Thanks
On Sun, Jul 8, 2012 at 4:35 PM, sebb <se...@gmail.com> wrote:
> On 8 July 2012 15:23, <pm...@apache.org> wrote:
> > Author: pmouawad
> > Date: Sun Jul 8 14:23:54 2012
> > New Revision: 1358746
> >
> > URL: http://svn.apache.org/viewvc?rev=1358746&view=rev
> > Log:
> > Bug 53522 - Cache Manager should not store at all response with header
> "no-cache" and store other types of Cache-Control having max-age value
> > Bugzilla Id: 53522
> >
> > Modified:
> >
> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
> >
> jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
> > jmeter/trunk/xdocs/changes.xml
> > jmeter/trunk/xdocs/usermanual/component_reference.xml
> >
> > Modified:
> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
> > URL:
> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java?rev=1358746&r1=1358745&r2=1358746&view=diff
> >
> ==============================================================================
> > ---
> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
> (original)
> > +++
> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
> Sun Jul 8 14:23:54 2012
> > @@ -160,13 +160,17 @@ public class CacheManager extends Config
> > Date expiresDate = null; // i.e. not using Expires
> > if (useExpires) {// Check that we are processing
> Expires/CacheControl
> > final String MAX_AGE = "max-age=";
> > - // TODO - check for other CacheControl attributes?
> > - if (cacheControl != null &&
> (cacheControl.contains("public") || cacheControl.contains("private")) &&
> cacheControl.contains(MAX_AGE)) {
> > - long maxAgeInSecs = Long.parseLong(
> > -
> cacheControl.substring(cacheControl.indexOf(MAX_AGE)+MAX_AGE.length())
> > - .split("[, ]")[0] // Bug 51932 - allow for
> optional trailing attributes
> > - );
> > - expiresDate=new
> Date(System.currentTimeMillis()+maxAgeInSecs*1000);
> > + if(cacheControl != null) {
> > + if(cacheControl.contains("no-cache")) {
> > + return;
> > + }
>
> Surely the check for no-cache should be done regardless of whether
> useExpires is true?
>
> useExpires should only be used to decide whether to use max-age or not.
>
> > + if(cacheControl.contains(MAX_AGE)) {
> > + long maxAgeInSecs = Long.parseLong(
> > +
> cacheControl.substring(cacheControl.indexOf(MAX_AGE)+MAX_AGE.length())
> > + .split("[, ]")[0] // Bug 51932 - allow
> for optional trailing attributes
> > + );
> > + expiresDate=new
> Date(System.currentTimeMillis()+maxAgeInSecs*1000);
> > + }
> > } else if (expires != null) {
> > try {
> > expiresDate = DateUtil.parseDate(expires);
> >
> > Modified:
> jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
> > URL:
> http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java?rev=1358746&r1=1358745&r2=1358746&view=diff
> >
> ==============================================================================
> > ---
> jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
> (original)
> > +++
> jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
> Sun Jul 8 14:23:54 2012
> > @@ -258,7 +258,7 @@ public class TestCacheManager extends JM
> > assertFalse("Should not find valid
> entry",this.cacheManager.inCache(url));
> > ((HttpMethodStub)httpMethod).cacheControl="no-cache";
> > this.cacheManager.saveDetails(httpMethod, sampleResultOK);
> > - assertNotNull("Should find
> entry",getThreadCacheEntry(LOCAL_HOST));
> > + assertNull("Should find entry",getThreadCacheEntry(LOCAL_HOST));
> > assertFalse("Should not find valid
> entry",this.cacheManager.inCache(url));
> > }
> >
> >
> > Modified: jmeter/trunk/xdocs/changes.xml
> > URL:
> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1358746&r1=1358745&r2=1358746&view=diff
> >
> ==============================================================================
> > --- jmeter/trunk/xdocs/changes.xml (original)
> > +++ jmeter/trunk/xdocs/changes.xml Sun Jul 8 14:23:54 2012
> > @@ -70,6 +70,7 @@ in ScriptEngine context, see <bugzilla>5
> > <h3>HTTP Samplers and Proxy</h3>
> > <ul>
> > <li><bugzilla>53521</bugzilla> - Cache Manager should cache content
> with Cache-control=private</li>
> > +<li><bugzilla>53522</bugzilla> - Cache Manager should not store at all
> response with header "no-cache" and store other types of Cache-Control
> having max-age value</li>
> > </ul>
> >
> > <h3>Other Samplers</h3>
> >
> > Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
> > URL:
> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1358746&r1=1358745&r2=1358746&view=diff
> >
> ==============================================================================
> > --- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
> > +++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sun Jul 8
> 14:23:54 2012
> > @@ -3217,7 +3217,8 @@ and if so, the If-Last-Modified and If-N
> > Additionally, if the "Use Cache-Control/Expires header" option is
> selected, then the Cache-Control/Expires value is checked against the
> current time.
> > If the request is a GET request, and the timestamp is in the future,
> then the sampler returns immediately,
> > without requesting the URL from the remote server. This is intended to
> emulate browser behaviour.
> > -Note that the Cache-Control header must be "public" and only the
> "max-age" expiry option is processed.
> > +Note that if Cache-Control header is "no-cache", response will not be
> stored in cache, if Cache-Control has any other value,
> > +only the "max-age" expiry option is processed to compute entry lifetime.
> > </p>
> > <p>
> > By default, Cache Manager will store up to 5000 items in cache using
> LRU algorithm. Use property to modify this value.
> >
> >
>
--
Cordialement.
Philippe Mouawad.
Re: svn commit: r1358746 - in /jmeter/trunk: src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
xdocs/changes.xml xdocs/usermanual/component_reference.xml
Posted by sebb <se...@gmail.com>.
On 8 July 2012 15:23, <pm...@apache.org> wrote:
> Author: pmouawad
> Date: Sun Jul 8 14:23:54 2012
> New Revision: 1358746
>
> URL: http://svn.apache.org/viewvc?rev=1358746&view=rev
> Log:
> Bug 53522 - Cache Manager should not store at all response with header "no-cache" and store other types of Cache-Control having max-age value
> Bugzilla Id: 53522
>
> Modified:
> jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
> jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
> jmeter/trunk/xdocs/changes.xml
> jmeter/trunk/xdocs/usermanual/component_reference.xml
>
> Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java?rev=1358746&r1=1358745&r2=1358746&view=diff
> ==============================================================================
> --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java (original)
> +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java Sun Jul 8 14:23:54 2012
> @@ -160,13 +160,17 @@ public class CacheManager extends Config
> Date expiresDate = null; // i.e. not using Expires
> if (useExpires) {// Check that we are processing Expires/CacheControl
> final String MAX_AGE = "max-age=";
> - // TODO - check for other CacheControl attributes?
> - if (cacheControl != null && (cacheControl.contains("public") || cacheControl.contains("private")) && cacheControl.contains(MAX_AGE)) {
> - long maxAgeInSecs = Long.parseLong(
> - cacheControl.substring(cacheControl.indexOf(MAX_AGE)+MAX_AGE.length())
> - .split("[, ]")[0] // Bug 51932 - allow for optional trailing attributes
> - );
> - expiresDate=new Date(System.currentTimeMillis()+maxAgeInSecs*1000);
> + if(cacheControl != null) {
> + if(cacheControl.contains("no-cache")) {
> + return;
> + }
Surely the check for no-cache should be done regardless of whether
useExpires is true?
useExpires should only be used to decide whether to use max-age or not.
> + if(cacheControl.contains(MAX_AGE)) {
> + long maxAgeInSecs = Long.parseLong(
> + cacheControl.substring(cacheControl.indexOf(MAX_AGE)+MAX_AGE.length())
> + .split("[, ]")[0] // Bug 51932 - allow for optional trailing attributes
> + );
> + expiresDate=new Date(System.currentTimeMillis()+maxAgeInSecs*1000);
> + }
> } else if (expires != null) {
> try {
> expiresDate = DateUtil.parseDate(expires);
>
> Modified: jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java?rev=1358746&r1=1358745&r2=1358746&view=diff
> ==============================================================================
> --- jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java (original)
> +++ jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java Sun Jul 8 14:23:54 2012
> @@ -258,7 +258,7 @@ public class TestCacheManager extends JM
> assertFalse("Should not find valid entry",this.cacheManager.inCache(url));
> ((HttpMethodStub)httpMethod).cacheControl="no-cache";
> this.cacheManager.saveDetails(httpMethod, sampleResultOK);
> - assertNotNull("Should find entry",getThreadCacheEntry(LOCAL_HOST));
> + assertNull("Should find entry",getThreadCacheEntry(LOCAL_HOST));
> assertFalse("Should not find valid entry",this.cacheManager.inCache(url));
> }
>
>
> Modified: jmeter/trunk/xdocs/changes.xml
> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1358746&r1=1358745&r2=1358746&view=diff
> ==============================================================================
> --- jmeter/trunk/xdocs/changes.xml (original)
> +++ jmeter/trunk/xdocs/changes.xml Sun Jul 8 14:23:54 2012
> @@ -70,6 +70,7 @@ in ScriptEngine context, see <bugzilla>5
> <h3>HTTP Samplers and Proxy</h3>
> <ul>
> <li><bugzilla>53521</bugzilla> - Cache Manager should cache content with Cache-control=private</li>
> +<li><bugzilla>53522</bugzilla> - Cache Manager should not store at all response with header "no-cache" and store other types of Cache-Control having max-age value</li>
> </ul>
>
> <h3>Other Samplers</h3>
>
> Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1358746&r1=1358745&r2=1358746&view=diff
> ==============================================================================
> --- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
> +++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sun Jul 8 14:23:54 2012
> @@ -3217,7 +3217,8 @@ and if so, the If-Last-Modified and If-N
> Additionally, if the "Use Cache-Control/Expires header" option is selected, then the Cache-Control/Expires value is checked against the current time.
> If the request is a GET request, and the timestamp is in the future, then the sampler returns immediately,
> without requesting the URL from the remote server. This is intended to emulate browser behaviour.
> -Note that the Cache-Control header must be "public" and only the "max-age" expiry option is processed.
> +Note that if Cache-Control header is "no-cache", response will not be stored in cache, if Cache-Control has any other value,
> +only the "max-age" expiry option is processed to compute entry lifetime.
> </p>
> <p>
> By default, Cache Manager will store up to 5000 items in cache using LRU algorithm. Use property to modify this value.
>
>