lox/httpcache

httpcache makes two requests

hauva69 opened this issue · 1 comments

While using httpcache in an environment where we used a ReverseProxy implementation which supports several upstream hosts I noticed that the cache makes two requests to the upstream when cache has expired.

Fixing outreq in pull request Use outreq helped me, but two requests are still problematic.

  • With multiple upstreams validation can succeed, but the second request may fail.
  • Two requests, validation not being HEAD, makes it impossible to implement round robin with simple upstreams[n]%len(upstreams)

Also, we think that it is a bit strange that the code uses only differences in the headers to check whether the cache should be updated. If we respond with exactly the same headers, the cache does not seem to get updated at all.

lox commented

Hi @hauva69, apologies for the delayed response. My dev time on httpcache has been on the back-burner, but working on some improvements. Are you still using httpcache? Interested in how you would expect the cache invalidation should work.