Search squid archive

Re: Fwd: rock store: a bug or ...?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 29/01/2014 2:04 a.m., Niki Gorchilov wrote:
> Hi all!
> 
> I'm experiencing a strange issue when delivering cached results from
> rock store, that doesn't exist while using aufs with exactly the same
> configuration.
> 
> In short, some random TCP_HIT responses never get delivered back to
> the user. It happens quite often (say 10-20%) when the refresh logic
> doesn't require contacting the origin server. As a result both Squid
> and the browser enter into infinite waiting state, until the user
> aborts the session by pressing ESC. Once the ESC is pressed and
> browser drops the connection a TCP_HIT_ABORTED entry shows in
> access.log.
> 
> Tested with my own builds of Squid 3.4.2 and 3.HEAD-BZR under Ubuntu
> 12.04.3 and Eliezer's 3.4.2 CentOS 6 build. No any difference - the
> problem persists while using rock store, and disappears when switching
> to aufs.
> 
> Managed to create a simple conf and usage scenario to reproduce the
> problem easily.
> 
> ===[squid.conf]===
> http_port 3128
> shutdown_lifetime 0 seconds
> http_access allow all
> cache allow all
> 
> # Test case only options!
> # not used in production but easier to reproduce the issue
> # by forcing cache delivery from disk instead of memory
> # and avoid contacting the origin server
> reload_into_ims on
> cache_mem 0 MB
> 
> # rocks storage only - doens't work
> # aufs torage only - works
> cache_dir rock /squid_test_rock 100 max-size=31000
> #cache_dir aufs /squid_test_aufs 100 16 16
> ===[eof]===
> 
> The simple steps to reproduce:
> 
> 1. Empty store dir and recreate swap with -z

Did you leave sufficient time after doing this to ensure that the -z
operation was completed successfully and all the "squid -z" spawned
processes stopped?

> 2. Start Squid with the above config
> 3. Open a new private browser session (or clear browser cache) and
> request www.w3.org. Most of the 35+ requested items will get cached.
> 4. Once the page loads fully, request full reload Ctrl-Shift-R/Cmd-Shift-R

Step 4 operation is blocked by the "reload_into_ims on" config directive
which turns these force-reload (Cache-Control:no-cache) requests into
If-Modified-Since (IMS) requests.

Under correct protocol operation they should be TCP_MISS responses.


> 
> During this (and every next) reload few (1-3-5) random requests out of
> all 35+ objects will enter into this strange state, until the user
> aborts the connection.
> 
> Access.log excerpts:
> rock: http://pastebin.com/QWTgqRTD
> aufs: http://pastebin.com/0WGdHPP9
> 
> Pay attention to '===[]===' marks in the logs, marking user's actions.
> 
> Please help! Can you reproduce the problem or it's somehow related to
> my environment?


I note that you are only waiting 5-10 seconds between teh refresh and
escape. While this may be long enough, does the trace show any
difference if you leave it for a much longer time such as 30 or 60 seconds?

Amos




[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux