You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by dean <de...@swiftdsl.com.au> on 2005/01/30 12:11:44 UTC

2.1.3 mod_disk_cache partial responses

Ive enabled mod_disk_cache in the 'stock-standard' httpd.conf, and 
cached pages come back wrong (missing images & css)
Ive found a bugzilla report that explained the exact same behaviour [Bug 
31486].
By looking at the headers, cached images return 206 Partial Response.

Hope thats enough info

Cheers


Re: 2.1.3 mod_disk_cache partial responses

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
On Thu, Feb 03, 2005 at 08:44:03AM +1100, dean wrote:
> Im not sure where to find out the revision, but I checked out the src 
> from cvs just before my first post. I just did another update and 
> nothing has changed. Hope Im using the right command:
>  cvs checkout -d httpd-2.1 httpd-2.0

Oh.  In November, we switched to Subversion.  You need to follow the
instructions at the top of: http://httpd.apache.org/dev/ to checkout the
source code.  So, the CVS checkouts are roughly 4 months out-of-date.

> I guess I'll have to wait for mod_proxy to mature bit more. Compliments 
> to the developers, it works great with the new mod_filter which has some 
> really cool potential

Actually, I bet that the race conditions you are seeing in mod_proxy are now
fixed.  We had a very similar report here on dev@httpd that was fixed in the 
2.1.2 timeframe (which was after we converted to Subversion).

Hope this helps.  -- justin

Re: 2.1.3 mod_disk_cache partial responses

Posted by dean <de...@swiftdsl.com.au>.
Justin Erenkrantz wrote:
> --On Wednesday, February 2, 2005 12:25 AM +1100 dean 
> <de...@swiftdsl.com.au> wrote:
> 
>> My first thought was that Firefox has an issue. Then I installed 2.0.53
>> as a cache-proxy BUT I couldn't reproduce the above, Google logo loads
>> everytime.
>> Another simple page I tried is news.com.au/wireless.
>> Steps 1 -3 are same
>> 4. refresh page -> no css applied (liveheaders shows 200 OK), logo
>> appears broken (liveheaders show 206 Partial Response)
>> 5. delete temp int. files in IE6
>> 6. enter www.news.com.au/wireless in browser bar -> logo loads fine but
>> no css applied
>> 7. hit refresh button -> page loads fine with css & logo
>> As before, I couldn't reproduce this with 2.0.53
>>
>> Can you try reproduce this behaviour with 2.1.3 ??
> 
> 
> My hunch is that you are being hit by mod_proxy brokenness not mod_cache 
> issues.  2.0.53 uses the 'stable' mod_proxy, while 2.1.3 has a rewritten 
> mod_proxy - which still has significant issues.  For the most part, 
> 2.0.53's mod_disk_cache (i.e. from SVN 2.0.x branch) is mostly 
> equivalent to 2.1.3's mod_disk_cache.  So, if it works with 2.0.53 from 
> SVN and doesn't work with 2.1.3 from SVN, then I think mod_proxy is a 
> more likely culprit.
> 
> I know that there were some fixes recently made to mod_proxy that might 
> help.  So, what revision of 2.1.3 are you trying?
> 
> I know that Mladen fixed some race conditions, and I know Sander and I 
> have been making some recent commits in the last week to fix other 
> brokenness. And, there's still stuff that we know just doesn't work: 
> i.e. 'ProxyPass /foo/bar !'.  So, I don't think I can recommend 2.1.3 
> for proxy functionality as it needs a lot more care and feeding before 
> it is usable.
> 
> Thanks!  -- justin
> 
Thanks for your comments. The only reason I blamed mod_[disk]_cache is 
because the strange behaviour started happening once I enabled it. Proxy 
without cache seems to be working fine.
Im not sure where to find out the revision, but I checked out the src 
from cvs just before my first post. I just did another update and 
nothing has changed. Hope Im using the right command:
  cvs checkout -d httpd-2.1 httpd-2.0

I guess I'll have to wait for mod_proxy to mature bit more. Compliments 
to the developers, it works great with the new mod_filter which has some 
really cool potential

Thanks again
Dean



Re: 2.1.3 mod_disk_cache partial responses

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
--On Wednesday, February 2, 2005 12:25 AM +1100 dean 
<de...@swiftdsl.com.au> wrote:

> My first thought was that Firefox has an issue. Then I installed 2.0.53
> as a cache-proxy BUT I couldn't reproduce the above, Google logo loads
> everytime.
> Another simple page I tried is news.com.au/wireless.
> Steps 1 -3 are same
> 4. refresh page -> no css applied (liveheaders shows 200 OK), logo
> appears broken (liveheaders show 206 Partial Response)
> 5. delete temp int. files in IE6
> 6. enter www.news.com.au/wireless in browser bar -> logo loads fine but
> no css applied
> 7. hit refresh button -> page loads fine with css & logo
> As before, I couldn't reproduce this with 2.0.53
>
> Can you try reproduce this behaviour with 2.1.3 ??

My hunch is that you are being hit by mod_proxy brokenness not mod_cache 
issues.  2.0.53 uses the 'stable' mod_proxy, while 2.1.3 has a rewritten 
mod_proxy - which still has significant issues.  For the most part, 
2.0.53's mod_disk_cache (i.e. from SVN 2.0.x branch) is mostly equivalent 
to 2.1.3's mod_disk_cache.  So, if it works with 2.0.53 from SVN and 
doesn't work with 2.1.3 from SVN, then I think mod_proxy is a more likely 
culprit.

I know that there were some fixes recently made to mod_proxy that might 
help.  So, what revision of 2.1.3 are you trying?

I know that Mladen fixed some race conditions, and I know Sander and I have 
been making some recent commits in the last week to fix other brokenness. 
And, there's still stuff that we know just doesn't work: i.e. 'ProxyPass 
/foo/bar !'.  So, I don't think I can recommend 2.1.3 for proxy 
functionality as it needs a lot more care and feeding before it is usable.

Thanks!  -- justin

Re: 2.1.3 mod_disk_cache partial responses

Posted by Jeff White <jl...@earthlink.net>.
From: "dean"

>
> I can capture traffic using tcpdump,
> but there is so much mess (arp,
> dns, acks etc), is there a filter to clean
> it up to only show the relevant packets.
> B.T.W. Im running the proxy on Mandrake 9.1.
> and testing it from  winxp Firefox & IE6.
>

Perhaps

<quote>

Learn how to use the Microsoft
Fiddler HTTP debugger when
developing and testing Web
applications and clients.

Have you ever found yourself
wondering how Microsoft Internet
Explorer interacts with your Web
application? Have you encountered
a strange performance bottleneck
that you can't track down? Are you
curious about which cookies are being
sent, or what downloaded content is
marked as cacheable?

Microsoft Fiddler can help you answer
these questions, and many more. Fiddler
is an HTTP debugging proxy that logs
all HTTP traffic between your computer
and the Internet. Fiddler enables you
to inspect all HTTP traffic, set
breakpoints, and "fiddle" with incoming
or outgoing data. Fiddler is much simpler
to use than NetMon or other network
debuggers because it exposes only HTTP
traffic and does so in a user-friendly
format.

Fiddler includes a simple but powerful
Microsoft JScript .NET event-based scripting
subsystem flexible enough to support a
broad array of HTTP debugging tasks.
Written in C# on the Microsoft .NET
Framework, Fiddler is available as an
unsupported PowerToy for Internet Explorer.

</quote>

Fiddler PowerToy - Part 1: HTTP Debugging
http://msdn.microsoft.com/library/en-us/dnwebgen/html/IE_IntroFiddler.asp


Jeff



Re: 2.1.3 mod_disk_cache partial responses

Posted by dean <de...@swiftdsl.com.au>.
Justin Erenkrantz wrote:
> On Sun, Jan 30, 2005 at 10:11:44PM +1100, dean wrote:
> 
>>Ive enabled mod_disk_cache in the 'stock-standard' httpd.conf, and 
>>cached pages come back wrong (missing images & css)
>>Ive found a bugzilla report that explained the exact same behaviour [Bug 
>>31486].
> 
> 
> Are you using the proxy by any chance? 
Yes, sorry I forgot to mention that.
> 
> The error message in #31486 has nothing directly to do with mod_cache as
> mod_cache will DECLINED a response if the on-disk files are missing.  So, that
> analysis is incorrect somehow.  (I've added some comments to that PR.)
> 
> 
>>By looking at the headers, cached images return 206 Partial Response.
> 
> 
> mod_disk_cache would never cache a 206 Partial Response sent via the proxy.
> Only the byteranges will, and that is independent of mod_*_cache.  (I verified
> that byterange responses work correctly.)
> 
> Can you please capture a specific set of requests and responses at the network
> layer?  What browser and OS are you using?


Ive just tried few different scenarios and Im completely confused. Here 
are my steps, Im using Firefox extension LiveHeaders to view headers:
1. clear out the proxy disk cache
2. request google.com.au using Firefox1.0 -> page shows up fine
3. clear out Firefox cache
4. refresh page -> google logo doesnt show up (appears as broken image), 
but live headers shows it as a 200 OK
5. delete temp int. files in IE6
6. request google.com.au using IE6 -> page shows up fine
My first thought was that Firefox has an issue. Then I installed 2.0.53 
as a cache-proxy BUT I couldn't reproduce the above, Google logo loads 
everytime.
Another simple page I tried is news.com.au/wireless.
Steps 1 -3 are same
4. refresh page -> no css applied (liveheaders shows 200 OK), logo 
appears broken (liveheaders show 206 Partial Response)
5. delete temp int. files in IE6
6. enter www.news.com.au/wireless in browser bar -> logo loads fine but 
no css applied
7. hit refresh button -> page loads fine with css & logo
As before, I couldn't reproduce this with 2.0.53

Can you try reproduce this behaviour with 2.1.3 ??
I can capture traffic using tcpdump, but there is so much mess (arp, 
dns, acks etc), is there a filter to clean it up to only show the 
relevant packets.
B.T.W. Im running the proxy on Mandrake 9.1. and testing it from winxp 
Firefox & IE6.

Thanks
Dean


Re: 2.1.3 mod_disk_cache partial responses

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
On Sun, Jan 30, 2005 at 10:11:44PM +1100, dean wrote:
> Ive enabled mod_disk_cache in the 'stock-standard' httpd.conf, and 
> cached pages come back wrong (missing images & css)
> Ive found a bugzilla report that explained the exact same behaviour [Bug 
> 31486].

Are you using the proxy by any chance? 

The error message in #31486 has nothing directly to do with mod_cache as
mod_cache will DECLINED a response if the on-disk files are missing.  So, that
analysis is incorrect somehow.  (I've added some comments to that PR.)

> By looking at the headers, cached images return 206 Partial Response.

mod_disk_cache would never cache a 206 Partial Response sent via the proxy.
Only the byteranges will, and that is independent of mod_*_cache.  (I verified
that byterange responses work correctly.)

Can you please capture a specific set of requests and responses at the network
layer?  What browser and OS are you using?

Thanks.  -- justin