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

Reply via email to