[ 
https://issues.apache.org/jira/browse/TS-3425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14349078#comment-14349078
 ] 

Sudheer Vinukonda commented on TS-3425:
---------------------------------------

The below simple patch fixes this issue:

{code}
diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
index 6991325..1648c18 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -7649,7 +7649,8 @@ HttpTransact::handle_server_died(State* s)
 bool
 HttpTransact::is_request_likely_cacheable(State* s, HTTPHdr* request)
 {
-  if ((s->method == HTTP_WKSIDX_GET || s->api_req_cacheable == true) &&
+  if ((s->method == HTTP_WKSIDX_GET || s->api_req_cacheable) &&
+      !s->api_server_response_no_store &&
       !request->presence(MIME_PRESENCE_AUTHORIZATION) &&
       (!request->presence(MIME_PRESENCE_RANGE) || 
s->txn_conf->cache_range_write)) {
     return true;
{code}

> Conditional request headers not included in the origin request, when an API 
> disables cache store
> ------------------------------------------------------------------------------------------------
>
>                 Key: TS-3425
>                 URL: https://issues.apache.org/jira/browse/TS-3425
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: HTTP
>            Reporter: Sudheer Vinukonda
>
> We have a cache tier setup where cache is distributed among peers in a 
> cluster. A given client request is typically mapped (url hashed) to one of 
> the peers in the cluster and is cached in that particular peer. If the 
> request is received in any other peer, it is forwarded to the peer that 
> serves it from its cache. The cache is also disabled for that object on the 
> peer that lands the initial request. With this setup, it's always a 
> CACHE_MISS on the peer that lands the initial request. 
> ATS on the initial peer removes the conditional headers (e.g. IMS) when 
> forwarding to the correct peer, since this is CACHE MISS. However, since, the 
> cache is disabled on the initial peer, it should include the conditional 
> headers letting the fwded-to peer send back a 304, instead of having to 
> download the complete object. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to