You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Kit Chan (JIRA)" <ji...@apache.org> on 2012/10/24 09:50:12 UTC

[jira] [Commented] (TS-1534) implement the interim cache for ESI parser result

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

Kit Chan commented on TS-1534:
------------------------------

Specifically speaking, the ESI plugin has an internal mechanism that can try to cache a more efficient version (called packed node in the code) of the ESI response instead of the raw text. The hope, I think, is to make parsing much easier for subsequent requests. I think you are trying to make this feature work. Right?

The mechanism, if I understand correctly, works like this
a) Determine that the ESI response has the proper cache control header and is cacheable
b) Issue a internal "POST" request to the same URL with the same requests headers. The post data is the packed node version of the ESI response. 
c) Intercept this internal request and replace the existing cache with it.

I find this mechanism extremely hard to get to work. So I turn if off using the "ESI_PACKED_NODE_SUPPORT". It is also later on found to be a incorrect mechanism, too, in yahoo!. The mechanism does not take into account that key for HTTP cache can be changed with the Vary header in the response. 

So, e.g., if my request comes with a "X-Flag: 1" header and my response from origin server comes with "Vary: X-Flag" header and "Cache-Control: max-age=30, public" header, the subsequent request with a "X-Flag: 2" header will not be retrieving from cache but from origin server. This packed node mechanism does not take into account for this and thus the same ESI template will be cached and used in for both the cases when X-Flag is 1 and 2. 

                
> implement the interim cache for ESI parser result
> -------------------------------------------------
>
>                 Key: TS-1534
>                 URL: https://issues.apache.org/jira/browse/TS-1534
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Plugins
>    Affects Versions: 3.3.0
>            Reporter: Zhao Yongming
>             Fix For: 3.3.1
>
>
> the interim cache is not implemented yet, we should do it to improve performance.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira