You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@trafficserver.apache.org by "LIN, SHU-CHIH" <sl...@att.com> on 2015/02/14 00:03:14 UTC

Question on force revalidation of every request

Hi this is Shu-Chih Lin from ATT. We are testing ATS 5.1.2 on VM for a new use case and had the following question.....any help/insight you can share is much appreciated.

Question:
- Is there a configuration directive (or combination of directive(s)/overwrite(s)) which can force revalidation to Origin before serving for every incoming
  request no matter what? 

More details:
- Originally we thought by setting "proxy.config.http.cache.when_to_revalidate" to 2 (or had LUA script to set e.g. "max-age overwrites to -1 or 0" at 
   read_response()) would be sufficient. Yet based on our tests, when requests for the same object arrived in tight sequence, we observed sometimes 
   ATS would still serve from local cache without revalidating with origin first

When we turned on debug, we observed:
- ATS looked to decide whether a cached object was fresh by comparing object's "final freshness_limit" (set by cache-control or config directive, 0 being 
  the smallest value) to "calculated current_age" ("Age" value upon ingest plus resident time). Object was considered fresh (to serve from local cache) 
  if current_age <= fresh_limit.
- When requests arrived in tight sequence, 304 from the prior request would reset object's Age to 0 to cause the next req (if arrived at the same sec) to be 
   served locally without revalidating with origin 1st as expected (since Age == fresh_limit == 0)

Thanks in advance for your help.

Shu-Chih