[
https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13279496#comment-13279496
]
Kit Chan commented on TS-1249:
--
There is a new problem discovered on the ESI plugin. If the origin server is
returning gzipped content, the plugin will fail to work.
I will try to provide a fix as well soon.
More Traffic Server ESI plugin issues
-
Key: TS-1249
URL: https://issues.apache.org/jira/browse/TS-1249
Project: Traffic Server
Issue Type: Bug
Components: Plugins
Affects Versions: 3.0.4
Reporter: Kit Chan
Attachments: git.dff, ts3.1.4.git.diff
Is the current ESI plugin actually working? I saw TS 1103 and it is closed so
I thought it is working. When I tried to compile it and make it work with
traffic server 3.0.4, I got some problems. Even when i manage to compile it,
the runtime is not actually working, too.
So i decided to try to fix it. Here are the list of problems I find and fix.
1) Some if statements are checking whether the TS functions are returning 0
or not but actually we should check against TS_SUCCESS or
TS_ERROR
2) TSFetchUrl is still requiring ip and port as parameters so we need to pass
them in
3) VConnWrite() should use INT64_MAX instead of INT_MAX. This is causing the
ESI template with ESI include to return with a 2^32 -1 content legnth and
causing the client to hang till timeout.
4) There is a mechanism to cache a parsed version of ESI template through a
POST request internally but I find it hard to get it working. I can't get my
ESI template with a valid cache control header to get properly cached in ats
(which is somewhat useful to what i do). So I try to disable that.
My fixes for #4 is quite hacky and there are actually lots of things we don't
need if we don't do the internal POST
request.
The plugin seems to work well. I tested with ESI try/attempt/except syntax in
my ESI response. I tested with multiple ESI includes. I tested with cache
control header added for the ESI response so that I get the ESI Response
cached in ats and subsequent requests will simply get the ESI response from
cache instead of OS server. Gzip is also working, too.
Any comments or reviews?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira