Done - http://jira.magnolia-cms.com/browse/MAGNOLIA-2448 :-)
On Wed, 2008-10-22 at 18:18 +0200, Grégory Joseph wrote: > Jon, > > Can you reproduce this with Magnolia 3.6.3 ? A handful of cache issues > have been solved with this release. > > If so, please report on http://jira.magnolia-cms.com - since > apparently you've spotted the precise piece of code where the bug > occurs, I suppose you might be able to even provide a patch - thus > allowing faster integration of the fix. > > Cheers, > > -g > > On Oct 22, 2008, at 1:31 PM, Jon Barber wrote: > > > Doh, sorry, the bug is in info.magnolia.module.cache.executor.UseCache > > in the ifModifiedSince() method line 105 on the 3.6.1 branch. > > > > > > On Wed, 22 Oct 2008 12:09:28 +0100, "Jon Barber" > > <[email protected]> said: > >> We are using Magnolia CE 3.6.1 and we have an issue with handling > >> if-modified-since headers. To illustrate : > >> > >> $ wget --header='If-Modified-Since: Tue, 1 Jan 2008 19:58:25 GMT' > >> http://localhost:8080/webapp/jo/home.html > >> --2008-10-22 11:41:56-- http://localhost:8080/webapp/jo/home.html > >> Resolving localhost... 127.0.0.1 > >> Connecting to localhost|127.0.0.1|:8080... connected. > >> HTTP request sent, awaiting response... 304 Not Modified > >> 2008-10-22 11:45:52 ERROR 304: Not Modified. > >> > >> So basically magnolia is saying content has not been modified since > >> Jan > >> 1st this year, which is just plain wrong. > >> > >> So digging through the source code, and attaching a debugger to my > >> magnolia instance, the problem is in > >> info.magnolia.cms.cache.CacheFilter > >> line 162 (however on trunk this is now in > >> info.magnolia.module.cache.executor.AbstractExecutor in the > >> ifModifiedSince() method). I suggest the method is wrong, the error > >> being that it checks to see if the cache modification date is greater > >> than the header value, and returns false if it is. This signals > >> that the > >> server content is not newer, when in fact it is. > >> > >> Indeed, looking elsewhere the exact same logic is present in > >> info.magnolia.cms.cache.CacheFilter in the ifModifiedSince() method, > >> where the inverse logic is used for the same test. > >> > >> Can you please confirm this is the case. > >> > >> Thanks, > >> > >> Jon. > >> > >> > >> ---------------------------------------------------------------- > >> for list details see > >> http://www.magnolia-cms.com/home/community/mailing-lists.html > >> ---------------------------------------------------------------- > > > > ---------------------------------------------------------------- > > for list details see > > http://www.magnolia-cms.com/home/community/mailing-lists.html > > ---------------------------------------------------------------- > > > ---------------------------------------------------------------- > for list details see > http://www.magnolia-cms.com/home/community/mailing-lists.html > ---------------------------------------------------------------- ---------------------------------------------------------------- for list details see http://www.magnolia-cms.com/home/community/mailing-lists.html ----------------------------------------------------------------
