On 10/6/2012 2:08 PM, Amos Jeffries wrote:

?? sure we are looking at the same Line-506 of src/client_side_reply.cc
in trunk ??

" switch (varyEvaluateMatch(e, r)) {"

well it seems one of us have caching problem? or what?
my 506 is:
"if (strcmp(e->mem_obj->url, urlCanonical(r)) != 0) {"

I also verified using https to make sure I dont have any regular cache problems:
https://bazaar.launchpad.net/~squid/squid/3-trunk/view/head:/src/client_side_reply.cc#L506

"if (strcmp(e->mem_obj->url, urlCanonical(r)) != 0) {"


I just wanted to post that as I was thinking it is possible to cache with my method and it works quite well.

I managed to cache sites by just adding additional check to make sure that we check a url mismatch only when there wasnt done any store_url.

I think it's the best method with no store_url written all over it.
the method assumes that if someone uses store_url_rewrite he knows what he is doing and not just doing some copy && paste.

It seems to me like a very straight forward way to implement it:
store in the mem_obj->request->store_url

in the state of hexdigest to get the public hash and set the public hash if there is a store_url by the store_url.

then later just to blow off the url mismatch check (before the Vary check) that will never ever suppose to match in store_url_rewrite cases.

Now I just need to update my source to the latest maybe 3.3 ? add the needed code, review the patch and apply.

Eliezer


Reply via email to