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/05/06 10:21:05 UTC
[jira] [Created] (TS-1249) More Traffic Server ESI plugin issues
Kit Chan created TS-1249:
----------------------------
Summary: 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
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
[jira] [Updated] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kit Chan updated TS-1249:
-------------------------
Attachment: ts3.3.0.git.diff
This patch contains
1) Changes are make the compile go fine
a) library and macro to support INT64_MAX
b) library and macro to support PRId64
c)
2) Use the macro of ESI_PACKED_NODE_SUPPORT instead of commenting out the code
3) gunzip function of the gzip library is not working fine. A variable of wrong type is used to get the crc
Thanks. Let me know if you have any questions
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> Attachments: git.dff, ts3.1.4.git.diff, ts3.3.0.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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[jira] [Resolved] (TS-1249) More Traffic Server ESI plugin issues
Posted by "James Peach (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Peach resolved TS-1249.
-----------------------------
Resolution: Fixed
Committed!
I think that's everything. Kit, if I've missed anything please file a ticket and I'll get it in. Thank a *lot* for your patience with getting the ESI plugin working!
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> Attachments: git.dff, ts3.1.4.git.diff, ts3.3.0.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
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kit Chan updated TS-1249:
-------------------------
Attachment: ts3.1.4.git.diff
git diff for the ESI plugin to make it work with TS 3.1.4 (main tree)
> 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
[jira] [Comment Edited] (TS-1249) More Traffic Server ESI plugin
issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13440121#comment-13440121 ]
Kit Chan edited comment on TS-1249 at 8/24/12 8:36 AM:
-------------------------------------------------------
This patch contains
1) Changes are made to make the compile go fine
a) add include and macro to support INT64_MAX
b) add include and macro to support PRId64
c) -Wno-deprecated option added to Makefile.am
2) Use the macro of ESI_PACKED_NODE_SUPPORT instead of commenting out the code
3) gunzip function of the gzip library is not working fine. A variable of wrong type is used to get the crc
Now the compile and install of ATS with --enable-experimental-plugins option is working fine.
I tested with a few samples scenario of my own and it works fine as well.
Thanks. Let me know if you have any questions
was (Author: kichan):
This patch contains
1) Changes are made to make the compile go fine
a) library and macro to support INT64_MAX
b) library and macro to support PRId64
c) -Wno-deprecated option added to Makefile.am
2) Use the macro of ESI_PACKED_NODE_SUPPORT instead of commenting out the code
3) gunzip function of the gzip library is not working fine. A variable of wrong type is used to get the crc
Now the compile and install of ATS with --enable-experimental-plugins option is working fine.
I tested with a few samples scenario of my own and it works fine as well.
Thanks. Let me know if you have any questions
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> Attachments: git.dff, ts3.1.4.git.diff, ts3.3.0.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
[jira] [Updated] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kit Chan updated TS-1249:
-------------------------
Attachment: ts3.1.4.git.diff
This includes all the fixes mentioned in this bug up to 08/03/2012
> 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
> Fix For: 3.3.1
>
> 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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13428275#comment-13428275 ]
Kit Chan commented on TS-1249:
------------------------------
the github commit is on top of the patch here.
Let me simplify it a bit and submit a single diff here in the ticket tonight when i get home.
> 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
> Fix For: 3.3.1
>
> 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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13270337#comment-13270337 ]
Kit Chan commented on TS-1249:
------------------------------
There aren't much differences at all.
The ESI Plugin does not work with 3.1.4 (main tree) because of similar problems mentioned in the "Description" here.
The only difference is that TSFetchUrl is no longer asking for ip and port as parameters in 3.1.4 (as opposed to that in 3.0.4)
I have forked the plugin code and checkin changes that will make the plugin work with TS 3.0.4
I will attach a git diff that will make the code work with TS 3.1.4 here. We can clean up the code even more since we are not doing a internal POST any more to cache an intermediate version of the ESI template.
> 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
[jira] [Updated] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kit Chan updated TS-1249:
-------------------------
Attachment: (was: ts3.1.4.git.diff)
> 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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Zhao Yongming (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269329#comment-13269329 ]
Zhao Yongming commented on TS-1249:
-----------------------------------
which version of TS will you run ESI? I don't think v3.0 is intend for ESI to support. can you try git master? which will be the V3.2 stable tree later :D
I think we can focus on push ESI into the main tree if we have no problem, but as of the API changed during v3.0->v3.2, we can not manage both versions supported in one code.
FYI
> 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
>
>
> 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
[jira] [Updated] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kit Chan updated TS-1249:
-------------------------
Attachment: git.dff
This is the diff
> 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
>
>
> 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
[jira] [Assigned] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Leif Hedstrom (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Leif Hedstrom reassigned TS-1249:
---------------------------------
Assignee: James Peach
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> 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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13433577#comment-13433577 ]
Kit Chan commented on TS-1249:
------------------------------
I can pair with one of the committers to help out if needed. Let me know.
> 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
> Fix For: 3.3.1
>
> 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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Leif Hedstrom (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13433578#comment-13433578 ]
Leif Hedstrom commented on TS-1249:
-----------------------------------
Did any of these patches get committed btw ?
> 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
> Fix For: 3.3.1
>
> 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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269163#comment-13269163 ]
Kit Chan commented on TS-1249:
------------------------------
Attached is the fixes from me.
> 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
>
>
> 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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "James Peach (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13440382#comment-13440382 ]
James Peach commented on TS-1249:
---------------------------------
What platform are you building on that doesn't have INT64_MAX and PRId64?
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> Attachments: git.dff, ts3.1.4.git.diff, ts3.3.0.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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "James Peach (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13437247#comment-13437247 ]
James Peach commented on TS-1249:
---------------------------------
I merged the patch for #1. I think that the only thing left is the commented-out code for the packed node stuff. I'd rather have that disabled by a #if ESI_PACKED_NODE_SUPPORT that just commented out.
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> 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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Leif Hedstrom (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13433563#comment-13433563 ]
Leif Hedstrom commented on TS-1249:
-----------------------------------
Oops, seems we're dropping the ball on this a bit. Is any of the committers working on shepherding the ESI development? This is good stuff, and we should get improvements for this plugin landed sooner rather than later.
> 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
> Fix For: 3.3.1
>
> 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
[jira] [Updated] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kit Chan updated TS-1249:
-------------------------
Attachment: ts3.1.4.git.diff
add the fix for gunzip function.
> 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
[jira] [Updated] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kit Chan updated TS-1249:
-------------------------
Attachment: (was: ts3.1.4.git.diff)
> 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
> Fix For: 3.3.1
>
> 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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13437257#comment-13437257 ]
Kit Chan commented on TS-1249:
------------------------------
Cool. I can work on a patch in a couple days for that based on your comment. Plus I will take a look at the unit tests and see which of them and generate patches if needed, too. Thanks a lot.
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> 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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "James Peach (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13440383#comment-13440383 ]
James Peach commented on TS-1249:
---------------------------------
Oh I see ... :)
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> Attachments: git.dff, ts3.1.4.git.diff, ts3.3.0.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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269351#comment-13269351 ]
Kit Chan commented on TS-1249:
------------------------------
I am currently trying to make the ESI plugin to work with 3.0.4 and so the diff attached works fine for me. So I can always fork the ESI plugin code from git and check in with my diff and I am ok with it.
I can see from the git master that the TSFetchUrl is no longer requiring ip and port as parameters. Let me try it out and see if the existing ESI Plugin code works with the latest TS from git master or still need some touches.
Thanks.
> 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
>
>
> 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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13434850#comment-13434850 ]
Kit Chan commented on TS-1249:
------------------------------
Thanks so much for your time to try these changes out.
#1
> I think that turning off PORT support should be a runtime or compile time option.
Item #4 in the "Description" is not really about supporting "POST" or not.
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. The mechanism 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 completely. 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.
#2
> The second patch looks reasonably straight forward. There's one place where code is commented out with no explanation ... could you add some explanatory comments to these changes?
The commented out code is , i assume u mean, in the fetcher. These are the lines. Right?
//if (Utils::areEqual(header.name, header.name_len,
// TS_MIME_FIELD_ACCEPT_ENCODING, TS_MIME_LEN_ACCEPT_ENCODING)) {
// return;
//}
These lines are removing "Accept-Encoding" from the requests that the ESI plugin sent based on ESI include in the ESI response.
Essentially they are stopping the ESI include from using gzipped for the response. Commenting this out give this choice back to user.
User can choose whether to have Accept-Encoding header or not in his original request and the ESI include will also be fired with the header if present.
Do let me know if you have any questions. Thanks.
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> 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
[jira] [Comment Edited] (TS-1249) More Traffic Server ESI plugin
issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13440121#comment-13440121 ]
Kit Chan edited comment on TS-1249 at 8/24/12 8:35 AM:
-------------------------------------------------------
This patch contains
1) Changes are made to make the compile go fine
a) library and macro to support INT64_MAX
b) library and macro to support PRId64
c) -Wno-deprecated option added to Makefile.am
2) Use the macro of ESI_PACKED_NODE_SUPPORT instead of commenting out the code
3) gunzip function of the gzip library is not working fine. A variable of wrong type is used to get the crc
Now the compile and install of ATS with --enable-experimental-plugins option is working fine.
I tested with a few samples scenario of my own and it works fine as well.
Thanks. Let me know if you have any questions
was (Author: kichan):
This patch contains
1) Changes are make the compile go fine
a) library and macro to support INT64_MAX
b) library and macro to support PRId64
c) -Wno-deprecated option added to Makefile.am
2) Use the macro of ESI_PACKED_NODE_SUPPORT instead of commenting out the code
3) gunzip function of the gzip library is not working fine. A variable of wrong type is used to get the crc
Now the compile and install of ATS with --enable-experimental-plugins option is working fine.
I tested with a few samples scenario of my own and it works fine as well.
Thanks. Let me know if you have any questions
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> Attachments: git.dff, ts3.1.4.git.diff, ts3.3.0.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
[jira] [Comment Edited] (TS-1249) More Traffic Server ESI plugin
issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13440121#comment-13440121 ]
Kit Chan edited comment on TS-1249 at 8/23/12 7:19 PM:
-------------------------------------------------------
This patch contains
1) Changes are make the compile go fine
a) library and macro to support INT64_MAX
b) library and macro to support PRId64
c) -Wno-deprecated option added to Makefile.am
2) Use the macro of ESI_PACKED_NODE_SUPPORT instead of commenting out the code
3) gunzip function of the gzip library is not working fine. A variable of wrong type is used to get the crc
Now the compile and install of ATS with --enable-experimental-plugins option is working fine.
I tested with a few samples scenario of my own and it works fine as well.
Thanks. Let me know if you have any questions
was (Author: kichan):
This patch contains
1) Changes are make the compile go fine
a) library and macro to support INT64_MAX
b) library and macro to support PRId64
c) -Wno-deprecated option added to Makefile.am
2) Use the macro of ESI_PACKED_NODE_SUPPORT instead of commenting out the code
3) gunzip function of the gzip library is not working fine. A variable of wrong type is used to get the crc
Thanks. Let me know if you have any questions
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> Attachments: git.dff, ts3.1.4.git.diff, ts3.3.0.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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13427853#comment-13427853 ]
Kit Chan commented on TS-1249:
------------------------------
After using the plugin for a while in a few use cases, I find a few issues
1) Gzip - The ESI plugin will strip "Accept-Encoding" for all GET requests that it needs to send for ESI Includes. So the origin servers will always serve the response back uncompressed for these ESI include requests. To fix the problem, we need to stop stripping "Accept-Encoding" for all GET requests for the ESI Includes and then when those responses are coming back, we need to check the "Content-Encoding" header. If it is "gzip", then we will do a gunzip on the response before assembling the data back to the originating ESI response document.
2) POST requests - A "Content-Length" header comes with POST request to specify the length the data that is being posted. The ESI plugin will pass this header to the GET request of the ESI include inside a ESI response. Some origin servers are going to hang because it is expecting some data with a GET request and a "Content-Length" header. So we need to strip in header of "Content-Length" for all GET requests that the ESI plugin needs to send as instructed by a ESI response document.
3) Range request - It really does not mix well with ESI. First of all, we can't strip the "Range" header in the ESI plugin since we don't know if the response is going to contain ESI markup or not. And if it doesn't, we surely want to send the origin server partial content back. Currently ESI plugin will only trigger processing for response with status 200. So a status 206 for partial content from origin server will not trigger ESI processing even if there is valid ESI markup in the response. The only real problem that we need to fix is to stop the "Range" header from getting passed to the GET requests of the ESI includes. So the fix is to strip "Range" header requests from ESI include GET requests
I have my fixes checked into github. The diff can be found here - https://github.com/shukitchan/trafficserver/commit/ea66048038a797d4558ca33bbcd8b84df2b3c810
> 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
> Fix For: 3.3.1
>
> 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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "James Peach (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13433883#comment-13433883 ]
James Peach commented on TS-1249:
---------------------------------
I added the ESI plugin to the build system; you can now build it from top of tree when you configure with the --enable-experimental-plugins option.
I merged the obviously-correct parts of the first patch. I think that most of the changes that still need to be merged relate to #4. I think that turning off PORT support should be a runtime or compile time option.
The second patch looks reasonably straight forward. There's one place where code is commented out with no explanation ... could you add some explanatory comments to these changes?
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> 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
[jira] [Comment Edited] (TS-1249) More Traffic Server ESI plugin
issues
Posted by "Kit Chan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13440121#comment-13440121 ]
Kit Chan edited comment on TS-1249 at 8/23/12 7:18 PM:
-------------------------------------------------------
This patch contains
1) Changes are make the compile go fine
a) library and macro to support INT64_MAX
b) library and macro to support PRId64
c) -Wno-deprecated option added to Makefile.am
2) Use the macro of ESI_PACKED_NODE_SUPPORT instead of commenting out the code
3) gunzip function of the gzip library is not working fine. A variable of wrong type is used to get the crc
Thanks. Let me know if you have any questions
was (Author: kichan):
This patch contains
1) Changes are make the compile go fine
a) library and macro to support INT64_MAX
b) library and macro to support PRId64
c)
2) Use the macro of ESI_PACKED_NODE_SUPPORT instead of commenting out the code
3) gunzip function of the gzip library is not working fine. A variable of wrong type is used to get the crc
Thanks. Let me know if you have any questions
> 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
> Assignee: James Peach
> Fix For: 3.3.1
>
> Attachments: git.dff, ts3.1.4.git.diff, ts3.3.0.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
[jira] [Commented] (TS-1249) More Traffic Server ESI plugin issues
Posted by "James Peach (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/TS-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13428221#comment-13428221 ]
James Peach commented on TS-1249:
---------------------------------
Thanks! What's the relationship between your github commit and the patches here? Are both patches needed?
> 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
> Fix For: 3.3.1
>
> 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