You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Conan Wang (JIRA)" <ji...@apache.org> on 2013/05/07 21:21:15 UTC

[jira] [Issue Comment Deleted] (TS-1827) minor improvement of combo_handler plugin

     [ https://issues.apache.org/jira/browse/TS-1827?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Conan Wang updated TS-1827:
---------------------------

    Comment: was deleted

(was: feature 1,2,3,5: https://github.com/wkl/trafficserver/compare/114f171...347478d686

encounter a problem for feature 4(when configure @plugin=combo_handler in remap.config):
{code}
ERROR: unable to load '/Users/conan/box/ts-trunk/libexec/trafficserver/combo_handler.so': dlopen(/Users/conan/box/ts-trunk/libexec/trafficserver/combo_handler.so, 2): Symbol not found: _threadKey
  Referenced from: /Users/conan/box/ts-trunk/lib/libesi.0.dylib
  Expected in: flat namespace
 in /Users/conan/box/ts-trunk/lib/libesi.0.dylib
{code}
any way to load esi.so for remap plugin?

feature 4's code https://github.com/wkl/trafficserver/commit/69a9135c4c65d8dd6308ee8557b016aba3bfd59c)
    
> minor improvement of combo_handler plugin
> -----------------------------------------
>
>                 Key: TS-1827
>                 URL: https://issues.apache.org/jira/browse/TS-1827
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Plugins
>            Reporter: Conan Wang
>            Assignee: Leif Hedstrom
>             Fix For: 3.3.3
>
>
> Based on TS-1053, I've made some minor improvements. Community can select the general ones to review.
> Changes: (separately pasted on pastebin temporally; may provide with commits later after TS-1053 is solved on git master):
> # use HOST header as default bucket http://pastebin.com/pGHfLaHR
> Original code use the first segment of Host as the default bucket and it's not that expandable (two different combo domain may have same leading segment). Moreover, the initial default bucket("l") will not be used, because all requests should have a HOST. 
> # sub-file's path need to contain querystring, i.e. question mark("?") is part of the file path, not the delimiter http://pastebin.com/HvMJBQw0
> We use querystring to version each single sub-file in the combined url. If we want to update/purge one of them, it can be simply accomplished by changing the version of sub-file. (If not, you have to purge both the combined url and sub-file url which is relatively hard to know the latter one when you are not very familiar with ATS. Of course you can alter the filename if possible in your site.)
> Then the combo url could be like http://example.com/combo?file1?v=2012&file2?v=2013
> # request hangs when combo url has no querystring http://pastebin.com/d34ZJDzQ
> # make plugin per-remap enabled/disabled http://pastebin.com/YTaDYvh2
> It's implemented by adding some remap code and make global part "intercepted" in TS_EVENT_HTTP_OS_DNS instead of TS_EVENT_HTTP_READ_REQUEST_HDR in order to read the flag set in TSRemapDoRemap.
> So remap.config will be: {code}
> map    http://example.com   http://os.example.com @plugin=combo_handler.so
> map    http://localhost/example.com   http://os.example.com
> map    http://other.com  http://os.other.com  # combo for this channel is disabled
> {code}
> # limit sub-file max count and querystring length for potential problems http://pastebin.com/cmBCuCNB
> # log failed url http://pastebin.com/bNezeaz0
> They were tested on 3.0.x.

--
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