Return-Path: X-Original-To: apmail-trafficserver-users-archive@www.apache.org Delivered-To: apmail-trafficserver-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7297C9017 for ; Sat, 19 May 2012 08:51:32 +0000 (UTC) Received: (qmail 56875 invoked by uid 500); 19 May 2012 08:51:32 -0000 Delivered-To: apmail-trafficserver-users-archive@trafficserver.apache.org Received: (qmail 56484 invoked by uid 500); 19 May 2012 08:51:27 -0000 Mailing-List: contact users-help@trafficserver.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@trafficserver.apache.org Delivered-To: mailing list users@trafficserver.apache.org Received: (qmail 56461 invoked by uid 99); 19 May 2012 08:51:26 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 19 May 2012 08:51:26 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=NORMAL_HTTP_TO_IP,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of chanshukit@gmail.com designates 74.125.82.42 as permitted sender) Received: from [74.125.82.42] (HELO mail-wg0-f42.google.com) (74.125.82.42) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 19 May 2012 08:51:22 +0000 Received: by wgbds11 with SMTP id ds11so1446022wgb.5 for ; Sat, 19 May 2012 01:51:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=MUk51pFGxJkb8ODKmE9JROccBPt974lyQuD2VsylFBw=; b=CB6M2lAA26QodaHmOTtjBaJKwuj1S1hlgxwZxPk1+1oWWnrCJhni/FOimh1Zpd1A4T bLhPf0VJLJ9YxJiODNOjtzvK1PumDjUaGrw6hL3earvtKLHfHpS5PcMBcfGTqcY/jVAV BLNG/g78VMKUQrXZEISRFbmY7ju9nj6CGoqENich4ZXWgX/9B+2wcQikuOjEGdAbOBgU EuSgh1x53T4EMXDWO5Q1wyg0w7VHRO6afsWaeftq67/mKBisNdcNdVQm8fmMogMJR1Em CzGKq85OfuC39OBNSUY1quN7Dd2KufTiTSOeFyvoeFiCrAcZJReX3Iad0o9TRZGw7yIw 8e4w== MIME-Version: 1.0 Received: by 10.180.109.229 with SMTP id hv5mr19143292wib.0.1337417460245; Sat, 19 May 2012 01:51:00 -0700 (PDT) Received: by 10.223.143.6 with HTTP; Sat, 19 May 2012 01:51:00 -0700 (PDT) In-Reply-To: <02BC7EA2-81D1-4853-B23B-7F34FBA9EA1B@gmail.com> References: <50CA8092-C80E-457F-B19A-C410856F57DB@linux-it.es> <3A6F78D0-CBC8-4461-A94E-B033FA054475@linux-it.es> <9979F397-4EF3-4381-A6D3-3027F2D56F68@linux-it.es> <31D32DF0-9038-4350-8C5C-EFE9BDCCA1E7@gmail.com> <461FF899-9D62-4ACD-B9F5-A8C8B3ED4146@linux-it.es> <6F9CD29B-9D4C-4408-9E8C-415C2187A9E9@gmail.com> <6EFEEF98-936A-42ED-A8AF-A54C86475ACF@linux-it.es> <78D98B98-FB12-428B-ADD7-C786303F3A93@gmail.com> <5162D5EC-B36E-4068-A1FF-A6B8613CD8BE@linux-it.es> <02BC7EA2-81D1-4853-B23B-7F34FBA9EA1B@gmail.com> Date: Sat, 19 May 2012 10:51:00 +0200 Message-ID: Subject: Re: ESI Plugin From: Shu Kit Chan To: "users@trafficserver.apache.org" Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org I have verified that there is a bug on the plugin. it will not work if the origin server is returning gzip content. I setup a test trafficserver with remap.config to connect to your origin server - ori.servotic.com This will not work. curl --compress -v -H 'Host: www.servotic.com' "http://10.212.114.36/esi/esi.html" But this will curl -v -H 'Host: www.servotic.com' "http://10.212.114.36/esi/esi.html" I will try to fix this once i get back home and will update TS 1249 accordi= ngly https://issues.apache.org/jira/browse/TS-1249 Thanks. Kit On Fri, May 18, 2012 at 11:34 PM, Kit Chan wrote: > Sorry that i have to go through this multiple times. I am on vacation now= and can't fire a session to debug it myself. I can only guess why it does = not work from traffic.out > > It looks like esi/esi.html is requested and the response is of 126 bytes = in size (gzipped). It looks like the parser does not do well with these 126= bytes and return empty string after parsing. So you must be not getting an= y response body. > > There may be bug in the gunzip of the origin server response. So u can tr= y to use curl instead of using browser to access the url. This should make = the request/response to not use gzip encoding. > > curl -v -H "Host: www.servotic.com" "http://your-staging-ts-server/esi/es= i.html" > > If the above works, then thats indeed a problem in the plugin. i think i = can take a look and try to fix it once i get back home around 10 days later= . > > Thanks > > Kit > > Sent from my iPhone > > On May 18, 2012, at 1:03 PM, Jorge Rom=E1n Novalbos = wrote: > >> I have tried writing the whole url in src: >> >> >> >> The time is: >> at this very moment. >> >> >> >> >> TRaffic.out: >> >> [May 18 12:56:20.001] Server {47736083166976} DIAG: (plugin_esi) [isInte= rceptRequest] Skipping external request >> [May 18 12:56:20.001] Server {47736083166976} DIAG: (plugin_esi) [global= HookHandler] handling read request header event... >> [May 18 12:56:20.001] Server {47736083166976} DIAG: (plugin_esi) [global= HookHandler] Not setting up intercept >> [May 18 12:56:20.001] Server {47736083166976} DIAG: (plugin_esi) [isInte= rceptRequest] Skipping external request >> [May 18 12:56:20.002] Server {47736083166976} DIAG: (plugin_esi) [global= HookHandler] handling cache lookup complete event... >> [May 18 12:56:20.002] Server {47736083166976} DIAG: (plugin_esi) [isCach= eObjTransformable] cache object's status is 0; not transformable >> [May 18 12:56:20.314] Server {47736083166976} DIAG: (plugin_esi) [isInte= rceptRequest] Skipping external request >> [May 18 12:56:20.314] Server {47736083166976} DIAG: (plugin_esi) [global= HookHandler] handling read response header event... >> [May 18 12:56:20.314] Server {47736083166976} DIAG: (plugin_esi) [isCach= eObjTransformable] cache object's status is 0; not transformable >> [May 18 12:56:20.314] Server {47736083166976} DIAG: (plugin_esi) [getCli= entState] Got request URL [http://ori.servotic.com/esi/esi.html?ppppp] >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi_vars_0x2= 372890) [populate] Not retaining header [Accept] >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi_vars_0x2= 372890) [populate] Not retaining header [Accept] >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi_vars_0x2= 372890) [populate] Not retaining header [Accept] >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi_vars_0x2= 372890) [populate] Not retaining header [Accept] >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi_vars_0x2= 372890) [populate] Not retaining header [Accept-Encoding] >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi) [getCli= entState] Client accepts gzip encoding; will compress output >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi_vars_0x2= 372890) [populate] Not retaining header [Accept-Encoding] >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi_vars_0x2= 372890) [populate] Not retaining header [Connection] >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi_vars_0x2= 372890) [populate] Not retaining header [Pragma] >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi_vars_0x2= 372890) [populate] Not retaining header [Cache-Control] >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi) [getSer= verState] Not retaining 'vary: accept-encoding' header >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi) [getSer= verState] Not retaining 'content-encoding: gzip' header >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi) [getSer= verState] Not retaining 'X-Esi' header >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi) [getSer= verState] Not retaining 'Content-length' header >> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi) [addTra= nsform] Added transformation (0x0x2372890) >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [init] Set input data type to [GZIPPED_ESI] >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [transformHandler] initialized continuation data >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_fetcher_= 0x2372890) [_isFetchEvent] Event id 1 not within fetch event id range [1000= 0, 10000) >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [transformHandler] handling TS_EVENT_IMMEDIATE... >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [transformData] upstream VC has 126 bytes available to read >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [transformData] Added chunk of 126 bytes starting with [] to parse list >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [transformData] Consumed 126 bytes from upstream VC >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [transformData] Completed reading input... >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_processo= r_0x2372890) [completeParse] Implicit call to start() >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_parser_0= x2372890) [_setup] Returning true for empty data >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_parser_0= x2372890) [_completeParse] No data to parse! >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_processo= r_0x2372890) [_handleParseComplete] Parsed ESI document with 0 nodes >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [transformData] data ready; going to process doc >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_processo= r_0x2372890) [process] ESI processed document of size 0 starting with [(nul= l)] >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [transformData] ESI processor output document of size 0 starting with [(= null)] >> [May 18 12:56:20.315] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [transformData] Compressed document from size 0 to 20 bytes >> [May 18 12:56:20.315] Server {47736080008960} DIAG: (plugin_esi_fetcher_= 0x2372890) [_isFetchEvent] Event id 1 not within fetch event id range [1000= 0, 10000) >> [May 18 12:56:20.316] Server {47736080008960} DIAG: (plugin_esi_0x237289= 0) [transformHandler] handling TS_EVENT_IMMEDIATE... >> [May 18 12:56:20.316] Server {47736080008960} DIAG: (plugin_esi_0x237289= 0) [transformData] input_vio NULL, marking transformation to be terminated >> [May 18 12:56:20.324] Server {47736062606624} DIAG: (plugin_esi) [modify= ResponseHeader] Removing header with name [Cache-Control] >> [May 18 12:56:20.325] Server {47736062606624} DIAG: (plugin_esi) [modify= ResponseHeader] Removing header with name [X-Esi] >> [May 18 12:56:20.325] Server {47736062606624} DIAG: (plugin_esi) [modify= ResponseHeader] Removing header with name [Age] >> [May 18 12:56:20.325] Server {47736062606624} DIAG: (plugin_esi) [modify= ResponseHeader] Inspected client-bound headers >> [May 18 12:56:20.336] Server {47736082114304} DIAG: (plugin_esi_fetcher_= 0x2372890) [_isFetchEvent] Event id 103 not within fetch event id range [10= 000, 10000) >> [May 18 12:56:20.337] Server {47736082114304} DIAG: (plugin_esi_0x237289= 0) [transformHandler] shutting down transformation >> [May 18 12:56:20.348] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [checkXformStatus] Vconn closed >> [May 18 12:56:20.349] Server {47736084219648} DIAG: (plugin_esi_fetcher_= 0x2372890) [_isFetchEvent] Event id 1 not within fetch event id range [1000= 0, 10000) >> [May 18 12:56:20.349] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [transformHandler] Transformation closed. Post-processing... >> [May 18 12:56:20.349] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [transformHandler] Processing is complete, not processing current event = 1 >> [May 18 12:56:20.349] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [transformHandler] transformation closed; cleaning up data... >> [May 18 12:56:20.349] Server {47736084219648} DIAG: (plugin_esi_0x237289= 0) [~ContData] Destroying continuation data >> >> >> >> >> quid.blog: >> 1337338580.337 335 10.6.0.6 TCP_MISS/200 296 GET http://www.servotic.com= /esi/esi.html?ppppp - DIRECT/ori.servotic.com text/html Mozilla/5.0 (Macint= osh; Intel Mac OS X 10.7; rv:12.0) Gecko/20100101 Firefox/12.0 =A0- >> >> >> The remap_config is like this right now: >> >> map http://www.servotic.com/ http://ori.servotic.com/ >> >> I don't know what is wrong=85 :( >> >> >> >> >> On 17/05/2012, at 23:28, Kit Chan wrote: >> >>> I am not 100% sure but i think the plugin is not smart enough yet to un= derstand the "../" >>> >>> This may work in esi/esi.html >>> >>> >>> >>> If not, can u make sure that conf_remap is not doing anything funny for= your request? and pls post the traffic.out & squid.blog/squid.log again af= ter the suggested change. >>> >>> Thanks >>> Kit >>> >>> Sent from my iPhone >>> >>> On May 17, 2012, at 10:39 PM, Jorge Rom=E1n Novalbos wrote: >>> >>>> First of all, I'm sorry I'm a newbie in esi tags and it's being so con= fusing for me=85. >>>> >>>> >>>> >>>> On 17/05/2012, at 21:41, Kit Chan wrote: >>>> >>>>> It seems that the plugin is not getting any response body from the fi= rst request. >>>>> >>>>>> http://ori.servotic.com/esi/esi.php?p >>>>> >>>>> >>>>> So it thinks that there is no esi markup to interpret. >>>> >>>> >>>> This is the content of esi.html: >>>> >>>> >>>> >>>> The time is: >>>> at this very moment. >>>> >>>> >>>> >>>> and =A0this is the date.php >>>> >>>> >>> =A0 =A0 =A0echo date('l jS \of F Y h:i:s A'); >>>> ?> >>>> >>>> In the vhost configuration I add the X-Esi header like this: >>>> >>>> =A0 =A0 =A0 >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0Header set Cache-control no-cache >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0Header set X-Esi 1 >>>> =A0 =A0 =A0 >>>> >>>> >>>> >>>>> >>>>> Do you have output of squid.blog or squid.log? It should show two req= uests of status 200 if it is all good and successful >>>> >>>> 1337286567.313 347 10.6.0.6 TCP_MISS/200 296 GET http://www.servotic.c= om/esi/esi.html - DIRECT/ori.servotic.com text/html Mozilla/5.0 (Macintosh;= Intel Mac OS X 10.7; rv:12.0) Gecko/20100101 Firefox/12.0 =A0- >>>> >>>> >>>>> >>>>> Also what is the corresponding line in remap.config? And what is the = actual url in the esi include? What is the url of the actual request from u= ser? Your esi include url in the first request cannot be arbitrary and must= be handled by one of the lines in remap.config >>>> >>>> In remap.config: >>>> >>>> map http://www.servotic.com/ http://ori.servotic.com/ @plugin=3Dconf_r= emap.so @pparam=3D/opt/trafficserver/etc/trafficserver/clientes/servotic.co= nf >>>> >>>> In my plugin.config >>>> >>>> esi.so >>>> >>>> >>>> The url that i asking for is http://www.servotic.com/esi/esi.html but = pointer to my staging enviroment, I mean this request is not working in the= production enviroment. >>>> >>>>> >>>>> Thanks >>>>> Kit >>>>> >>>>> Sent from my iPhone >>>>> >>>>> On May 17, 2012, at 6:12 PM, Jorge Rom=E1n Novalbos wrote: >>>>> >>>>>> You're right that was one of my problem but it still doesn't work. T= his is the traffic.out output in debug mode while a esi request is processi= ng: >>>>>> >>>>>> >>>>>> [May 17 18:10:36.051] Server {47745214236416} DIAG: (plugin_esi) [is= InterceptRequest] Skipping external request >>>>>> [May 17 18:10:36.051] Server {47745214236416} DIAG: (plugin_esi) [gl= obalHookHandler] handling read request header event... >>>>>> [May 17 18:10:36.051] Server {47745214236416} DIAG: (plugin_esi) [gl= obalHookHandler] Not setting up intercept >>>>>> [May 17 18:10:36.051] Server {47745214236416} DIAG: (plugin_esi) [is= InterceptRequest] Skipping external request >>>>>> [May 17 18:10:36.051] Server {47745214236416} DIAG: (plugin_esi) [gl= obalHookHandler] handling cache lookup complete event... >>>>>> [May 17 18:10:36.051] Server {47745214236416} DIAG: (plugin_esi) [is= CacheObjTransformable] cache object's status is 0; not transformable >>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi) [is= InterceptRequest] Skipping external request >>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi) [gl= obalHookHandler] handling read response header event... >>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi) [is= CacheObjTransformable] cache object's status is 0; not transformable >>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi) [ge= tClientState] Got request URL [http://ori.servotic.com/esi/esi.php?p] >>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi_vars= _0x2b6c90dcd480) [populate] Not retaining header [Accept] >>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi_vars= _0x2b6c90dcd480) [populate] Not retaining header [Accept] >>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi_vars= _0x2b6c90dcd480) [populate] Not retaining header [Accept] >>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi_vars= _0x2b6c90dcd480) [populate] Not retaining header [Accept] >>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi_vars= _0x2b6c90dcd480) [populate] Not retaining header [Accept-Encoding] >>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi) [ge= tClientState] Client accepts gzip encoding; will compress output >>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi_vars= _0x2b6c90dcd480) [populate] Not retaining header [Accept-Encoding] >>>>>> [May 17 18:10:36.386] Server {47745214236416} DIAG: (plugin_esi_vars= _0x2b6c90dcd480) [populate] Not retaining header [Connection] >>>>>> [May 17 18:10:36.386] Server {47745214236416} DIAG: (plugin_esi) [ge= tServerState] Not retaining 'X-Esi' header >>>>>> [May 17 18:10:36.386] Server {47745214236416} DIAG: (plugin_esi) [ge= tServerState] Not retaining 'vary: accept-encoding' header >>>>>> [May 17 18:10:36.386] Server {47745214236416} DIAG: (plugin_esi) [ge= tServerState] Not retaining 'content-encoding: gzip' header >>>>>> [May 17 18:10:36.386] Server {47745214236416} DIAG: (plugin_esi) [ge= tServerState] Not retaining 'Content-length' header >>>>>> [May 17 18:10:36.386] Server {47745214236416} DIAG: (plugin_esi) [ad= dTransform] Added transformation (0x0x2b6c90dcd480) >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_0x2b= 6c90dcd480) [init] Set input data type to [GZIPPED_ESI] >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformHandler] initialized continuation data >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_fetc= her_0x2b6c90dcd480) [_isFetchEvent] Event id 1 not within fetch event id ra= nge [10000, 10000) >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformHandler] handling TS_EVENT_IMMEDIATE... >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformData] upstream VC has 126 bytes available to read >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformData] Added chunk of 126 bytes starting with [] to pa= rse list >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformData] Consumed 126 bytes from upstream VC >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformData] Completed reading input... >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_proc= essor_0x2b6c90dcd480) [completeParse] Implicit call to start() >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_pars= er_0x2b6c90dcd480) [_setup] Returning true for empty data >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_pars= er_0x2b6c90dcd480) [_completeParse] No data to parse! >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_proc= essor_0x2b6c90dcd480) [_handleParseComplete] Parsed ESI document with 0 nod= es >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformData] data ready; going to process doc >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_proc= essor_0x2b6c90dcd480) [process] ESI processed document of size 0 starting w= ith [(null)] >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformData] ESI processor output document of size 0 startin= g with [(null)] >>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformData] Compressed document from size 0 to 20 bytes >>>>>> [May 17 18:10:36.387] Server {47745216341760} DIAG: (plugin_esi) [mo= difyResponseHeader] Removing header with name [Cache-Control] >>>>>> [May 17 18:10:36.387] Server {47745216341760} DIAG: (plugin_esi) [mo= difyResponseHeader] Removing header with name [X-Esi] >>>>>> [May 17 18:10:36.387] Server {47745216341760} DIAG: (plugin_esi) [mo= difyResponseHeader] Removing header with name [Age] >>>>>> [May 17 18:10:36.387] Server {47745216341760} DIAG: (plugin_esi) [mo= difyResponseHeader] Inspected client-bound headers >>>>>> [May 17 18:10:36.387] Server {47745213183744} DIAG: (plugin_esi_fetc= her_0x2b6c90dcd480) [_isFetchEvent] Event id 103 not within fetch event id = range [10000, 10000) >>>>>> [May 17 18:10:36.387] Server {47745213183744} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformHandler] shutting down transformation >>>>>> [May 17 18:10:36.398] Server {47745194728736} DIAG: (plugin_esi_0x2b= 6c90dcd480) [checkXformStatus] Vconn closed >>>>>> [May 17 18:10:36.398] Server {47745194728736} DIAG: (plugin_esi_fetc= her_0x2b6c90dcd480) [_isFetchEvent] Event id 1 not within fetch event id ra= nge [10000, 10000) >>>>>> [May 17 18:10:36.398] Server {47745194728736} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformHandler] Transformation closed. Post-processing... >>>>>> [May 17 18:10:36.398] Server {47745194728736} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformHandler] Processing is complete, not processing curre= nt event 1 >>>>>> [May 17 18:10:36.398] Server {47745194728736} DIAG: (plugin_esi_0x2b= 6c90dcd480) [transformHandler] transformation closed; cleaning up data... >>>>>> [May 17 18:10:36.398] Server {47745194728736} DIAG: (plugin_esi_0x2b= 6c90dcd480) [~ContData] Destroying continuation data >>>>>> >>>>>> >>>>>> On 17/05/2012, at 17:23, Kit Chan wrote: >>>>>> >>>>>>> Without looking too deep into all info, i think the problem is that= u need to have a response header of >>>>>>> >>>>>>> X-Esi: 1 >>>>>>> >>>>>>> with esi.html >>>>>>> >>>>>>> Sent from my iPhone >>>>>>> >>>>>>> On May 16, 2012, at 6:01 PM, Jorge Rom=E1n Novalbos wrote: >>>>>>> >>>>>>>> I have the plugin compiled. >>>>>>>> >>>>>>>> Finally I downloaded the sources from https://github.com/shukitcha= n/trafficserver-plugins/ with the problems fixes. >>>>>>>> >>>>>>>> Now I'm trying to test the plugin. >>>>>>>> >>>>>>>> For this test i have created two file: >>>>>>>> >>>>>>>> - esi.html >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> The time is: >>>>>>>> at this very moment. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> - esi.php >>>>>>>> >>>>>>>> >>>>>>> echo date('l jS \of F Y h:i:s A'); >>>>>>>> ?> >>>>>>>> >>>>>>>> >>>>>>>> When i ask for esi.html the date is not displayed, so esi plugin i= t doesn't work. >>>>>>>> >>>>>>>> My question, =BFDo i have to activate the ESI in order to process = that url? Sorry, but i can't find much documentation about how to implement= ATS with ESI tags. >>>>>>>> >>>>>>>> P.S: I have activated the plugin in plugin.config >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 16/05/2012, at 12:22, Jorge Rom=E1n Novalbos wrote: >>>>>>>> >>>>>>>>> I am focusing with compile the pluging using the make command and= i have achieved some advances. >>>>>>>>> >>>>>>>>> I have installed some packages (libboost1.42-dev and gcc-4.4-loca= les) and the error now is: >>>>>>>>> >>>>>>>>> root@ts1:~/ATS-plugins/trafficserver-plugins/esi# make >>>>>>>>> tsxs -v -I lib -I fetcher/ -C plugin.cc serverIntercept.cc lib/*.= cc fetcher/*.cc -o esi.so >>>>>>>>> compiling plugin.cc -> plugin.lo >>>>>>>>> g++ -I/opt/trafficserver-3.0.4/include -Ilib -Ifetcher/ -g -pipe = -Wall -Werror -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing -Wn= o-invalid-offsetof -fpic -c plugin.cc -o plugin.lo >>>>>>>>> En el fichero inclu=EDdo de /usr/include/c++/4.4/ext/hash_map:60, >>>>>>>>> =A0 =A0 =A0 =A0 =A0de lib/StringHash.h:29, >>>>>>>>> =A0 =A0 =A0 =A0 =A0de lib/EsiProcessor.h:31, >>>>>>>>> =A0 =A0 =A0 =A0 =A0de plugin.cc:34: >>>>>>>>> /usr/include/c++/4.4/backward/backward_warning.h:28:2: error: #wa= rning This file includes at least one deprecated or antiquated header which= may be removed without further notice at a future date. Please use a non-d= eprecated interface with equivalent functionality instead. For a listing of= replacement headers and interfaces, consult the file backward_warning.h. T= o disable this warning use -Wno-deprecated. >>>>>>>>> plugin.cc: In function =91void cacheNodeList(ContData*)=92: >>>>>>>>> plugin.cc:453: error: conversi=F3n inv=E1lida de =91const sockadd= r*=92 a =91unsigned int=92 >>>>>>>>> plugin.cc:453: error: conversi=F3n inv=E1lida de =91tsapi_cont*= =92 a =91int=92 >>>>>>>>> plugin.cc:453: error: no se puede convertir =91TSFetchWakeUpOptio= ns=92 a =91tsapi_cont*=92 para el argumento =915=92 para =91void TSFetchUrl= (const char*, int, unsigned int, int, tsapi_cont*, TSFetchWakeUpOptions, TS= FetchEvent)=92 >>>>>>>>> Compile failed: g++ -I/opt/trafficserver-3.0.4/include -Ilib -Ife= tcher/ -g -pipe -Wall -Werror -O3 -feliminate-unused-debug-symbols -fno-str= ict-aliasing -Wno-invalid-offsetof -fpic -c plugin.cc -o plugin.lo >>>>>>>>> make: *** [all] Error 1 >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> I'm debuging the make command with strace but I'm not able to fix= the problem. Some advices? >>>>>>>>> >>>>>>>>> >>>>>>>>> On 16/05/2012, at 10:51, Jorge Rom=E1n Novalbos wrote: >>>>>>>>> >>>>>>>>>> Hi all, >>>>>>>>>> >>>>>>>>>> I'm compiling the ESI plugin in my trafficserver-3.0.4. I downlo= aded the plugins from repository and i have followed the next steps: >>>>>>>>>> >>>>>>>>>> 1. cd trafficserver-plugins/esi >>>>>>>>>> 2. /opt/trafficserver/bin/tsxs -o esi.so -c serverIntercept.cc >>>>>>>>>> 3 /opt/trafficserver/bin/tsxs -o esi.so -i >>>>>>>>>> 4 edit /opt/trafficserver/etc/trafficserver/plugin.config an add= esi.so >>>>>>>>>> 5. Restart trafficserver daemon. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> The traffic_server process never start because can't load the es= i plugin. The traffic.out show these lines: >>>>>>>>>> >>>>>>>>>> [May 16 10:31:49.263] Server {47992987118880} ERROR: unable to f= ind TSPluginInit function '/opt/trafficserver-3.0.4/libexec/trafficserver/e= si.so': /opt/trafficserver-3.0.4/libexec/trafficserver/esi.so: undefined sy= mbol: TSPluginInit >>>>>>>>>> [May 16 10:31:50.361] Manager {140531591419680} ERROR: [LocalMan= ager::pollMgmtProcessServer] Server Process terminated due to Sig 6: Aborte= d >>>>>>>>>> [May 16 10:31:50.361] Manager {140531591419680} ERROR: =A0(last = system error 2: No such file or directory) >>>>>>>>>> [May 16 10:31:50.361] Manager {140531591419680} ERROR: [Alarms::= signalAlarm] Server Process was reset >>>>>>>>>> [May 16 10:31:50.361] Manager {140531591419680} ERROR: =A0(last = system error 2: No such file or director y) >>>>>>>>>> >>>>>>>>>> Obviously something is wrong in esi pluging but I don't know if = i am doing some step wrong. >>>>>>>>>> >>>>>>>>>> I have tried to use the Makefile file in esi source but never co= mpile. This is the error: >>>>>>>>>> >>>>>>>>>> root@ts1:~/ATS-plugins/trafficserver-plugins/esi# make >>>>>>>>>> tsxs -v -I lib -I fetcher/ -C plugin.cc serverIntercept.cc lib/*= .cc fetcher/*.cc -o esi.so >>>>>>>>>> compiling plugin.cc -> plugin.lo >>>>>>>>>> g++ -I/opt/trafficserver-3.0.4/include -Ilib -Ifetcher/ -g -pipe= -Wall -Werror -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing -W= no-invalid-offsetof -fpic -c plugin.cc -o plugin.lo >>>>>>>>>> In file included from /usr/include/c++/4.4/ext/hash_map:60, >>>>>>>>>> =A0 =A0 =A0 =A0 from lib/StringHash.h:29, >>>>>>>>>> =A0 =A0 =A0 =A0 from lib/EsiProcessor.h:31, >>>>>>>>>> =A0 =A0 =A0 =A0 from plugin.cc:34: >>>>>>>>>> /usr/include/c++/4.4/backward/backward_warning.h:28:2: error: #w= arning This file includes at least one deprecated or antiquated header whic= h may be removed without further notice at a future date. Please use a non-= deprecated interface with equivalent functionality instead. For a listing o= f replacement headers and interfaces, consult the file backward_warning.h. = To disable this warning use -Wno-deprecated. >>>>>>>>>> In file included from lib/EsiProcessor.h:35, >>>>>>>>>> =A0 =A0 =A0 =A0 from plugin.cc:34: >>>>>>>>>> lib/Variables.h:29:33: error: boost/noncopyable.hpp: No existe e= l fichero o el directorio >>>>>>>>>> In file included from lib/EsiProcessor.h:35, >>>>>>>>>> =A0 =A0 =A0 =A0 from plugin.cc:34: >>>>>>>>>> lib/Variables.h:38: error: =91boost=92 has not been declared >>>>>>>>>> lib/Variables.h:38: error: expected =91{=92 before =91noncopyabl= e=92 >>>>>>>>>> lib/Variables.h:38: error: invalid type in declaration before = =91{=92 token >>>>>>>>>> cc1plus: warnings being treated as errors >>>>>>>>>> lib/Variables.h:38: error: extended initializer lists only avail= able with -std=3Dc++0x or -std=3Dgnu++0x >>>>>>>>>> lib/Variables.h:40: error: expected primary-expression before = =91public=92 >>>>>>>>>> lib/Variables.h:40: error: expected =91}=92 before =91public=92 >>>>>>>>>> lib/Variables.h:40: error: expected =91,=92 or =91;=92 before = =91public=92 >>>>>>>>>> lib/Variables.h: In function =91void EsiLib::populate(const char= *, int)=92: >>>>>>>>>> lib/Variables.h:60: error: =91_query_string_parsed=92 was not de= clared in this scope >>>>>>>>>> lib/Variables.h:61: error: =91_parseQueryString=92 was not decla= red in this scope >>>>>>>>>> lib/Variables.h:63: error: =91_query_string=92 was not declared = in this scope >>>>>>>>>> lib/Variables.h: At global scope: >>>>>>>>>> lib/Variables.h:70: error: non-member function =91const std::str= ing& EsiLib::getValue(const std::string&)=92 cannot have cv-qualifier >>>>>>>>>> lib/Variables.h:73: error: non-member function =91const std::str= ing& EsiLib::getValue(const char*, int)=92 cannot have cv-qualifier >>>>>>>>>> lib/Variables.h: In function =91const std::string& EsiLib::getVa= lue(const char*, int)=92: >>>>>>>>>> lib/Variables.h:75: error: =91EMPTY_STRING=92 was not declared i= n this scope >>>>>>>>>> lib/Variables.h: At global scope: >>>>>>>>>> lib/Variables.h:88: error: declaration of =91~EsiLib::Variables= =92 as non-member >>>>>>>>>> lib/Variables.h:90: error: expected unqualified-id before =91pri= vate=92 >>>>>>>>>> lib/Variables.h:99: error: storage size of =91EsiLib::SIMPLE_HEA= DERS=92 isn't known >>>>>>>>>> lib/Variables.h:102: error: storage size of =91EsiLib::SPECIAL_H= EADERS=92 isn't known >>>>>>>>>> lib/Variables.h:105: error: storage size of =91EsiLib::NORM_SIMP= LE_HEADERS=92 isn't known >>>>>>>>>> lib/Variables.h:106: error: storage size of =91EsiLib::NORM_SPEC= IAL_HEADERS=92 isn't known >>>>>>>>>> lib/Variables.h:114: error: non-member function =91std::string& = EsiLib::_toUpperCase(std::string&)=92 cannot have cv-qualifier >>>>>>>>>> lib/Variables.h:115: error: non-member function =91int EsiLib::_= searchHeaders(const std::string*, const char*, int)=92 cannot have cv-quali= fier >>>>>>>>>> lib/Variables.h:117: error: non-member function =91bool EsiLib::= _parseDictVariable(const std::string&, const char*&, int&, const char*&, in= t&)=92 cannot have cv-qualifier >>>>>>>>>> lib/Variables.h:150: error: non-member function =91const std::st= ring& EsiLib::_getSubCookieValue(const std::string&, size_t)=92 cannot have= cv-qualifier >>>>>>>>>> lib/Variables.h:154: error: expected declaration before =91}=92 = token >>>>>>>>>> lib/Variables.h:99: error: =91EsiLib::SIMPLE_HEADERS=92 defined = but not used >>>>>>>>>> lib/Variables.h:102: error: =91EsiLib::SPECIAL_HEADERS=92 define= d but not used >>>>>>>>>> lib/Variables.h:105: error: =91EsiLib::NORM_SIMPLE_HEADERS=92 de= fined but not used >>>>>>>>>> lib/Variables.h:106: error: =91EsiLib::NORM_SPECIAL_HEADERS=92 d= efined but not used >>>>>>>>>> Compile failed: g++ -I/opt/trafficserver-3.0.4/include -Ilib -If= etcher/ -g -pipe -Wall -Werror -O3 -feliminate-unused-debug-symbols -fno-st= rict-aliasing -Wno-invalid-offsetof -fpic -c plugin.cc -o plugin.lo >>>>>>>>>> make: *** [all] Error 1 >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> could anybody =A0help me? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Thanks to all developer for this amaizing software. >>>>>>>>> >>>>>>>> >>>>>> >>>> >>