You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(6) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(1) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
(1) |
Feb
|
Mar
(6) |
Apr
(1) |
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
(8) |
Nov
|
Dec
(1) |
2013 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
(9) |
Jun
(2) |
Jul
(5) |
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2014 |
Jan
(1) |
Feb
|
Mar
|
Apr
(7) |
May
(6) |
Jun
(7) |
Jul
|
Aug
|
Sep
(5) |
Oct
(29) |
Nov
(14) |
Dec
(10) |
2015 |
Jan
|
Feb
(4) |
Mar
(8) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
(6) |
Nov
|
Dec
(2) |
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(21) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Francois-Xavier B. <fra...@ce...> - 2017-07-11 08:19:11
|
Bonjour, En principe non, rien de spécifique. Je vous suggère de commencer par vérifier dans un navigateur avec les developer tools s'il n'y a pas des erreurs 404 due à une règle de réécriture. 2017-07-11 18:05 GMT+10:00 Thylda RICHOL <thy...@gm...>: > Bonjour, > J'ai des petits soucis pour intégrer mon application angular 2 dans mon > portail esigate. Sauriez -vous s'il y a des choses spécifiques à angular 2 > à mettre en place pour qu' esigate puisse correctement builder ma page et > l'intégrer? > > Merci d'avance et à bientôt. > > > Thylda > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Webassembletool-users mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webassembletool-users > > |
From: Thylda R. <thy...@gm...> - 2017-07-11 08:05:41
|
Bonjour, J'ai des petits soucis pour intégrer mon application angular 2 dans mon portail esigate. Sauriez -vous s'il y a des choses spécifiques à angular 2 à mettre en place pour qu' esigate puisse correctement builder ma page et l'intégrer? Merci d'avance et à bientôt. Thylda |
From: Nicolas R. <nic...@gm...> - 2016-07-22 12:43:50
|
Hi, The bug should now be fixed on esigate-5.2-SNAPSHOT. Could you try the fix and give a feedback ? If everything is ok, we will start a release process. Thanks, — Nicolas > Le 20 juil. 2016 à 17:25, Francois-Xavier Bonnet <fra...@ce...> a écrit : > > You can see the changes between 5.0 and 5.1 here: > https://github.com/esigate/esigate/milestone/8?closed=1 <https://github.com/esigate/esigate/milestone/8?closed=1> > > Also since 5.1 there were a few fixes that have not been released yet: > https://github.com/esigate/esigate/milestone/10?closed=1 <https://github.com/esigate/esigate/milestone/10?closed=1> > > There are several options: > You can stay on version 5.0 if you are not concerned by those bugs/enhancements > I will fix the bug you found and release version 5.2 when I have time > If you can contribute a pull request with a fix and a unit test, I could release version 5.2 very quickly > > > > 2016-07-20 17:05 GMT+02:00 Poupon Emilie <EP...@vo... <mailto:EP...@vo...>>: > Hello, > > > > Today we tried to deploy previous version of ESIGate (ESI 5.0) and it seems to work well in our context. > > What do you think about this idea of using previous version of your component? > > Is this version reliable enough for a quite used website on production ? > > Do you have warnings about this version ? > > > > Thx, > > Emilie > > > > De : fx....@gm... <mailto:fx....@gm...> [mailto:fx....@gm... <mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet > Envoyé : mercredi 20 juillet 2016 16:40 > À : Lorenzati Yannick <YLo...@vo... <mailto:YLo...@vo...>> > Cc : Poupon Emilie <EP...@VO... <mailto:EP...@VO...>>; web...@li... <mailto:web...@li...>; fra...@ce... <mailto:fra...@ce...>; Auffredou Thomas <TAu...@vo... <mailto:TAu...@vo...>> > Objet : Re: TR: [EsiGate-users] Connection thread leak > > > > Good catch! Thank you very much, I have been able to reproduce the issue. > > I think that this problem occurs only when you are performing an include, then you get a 302 redirect and also the redirect response contains a body. Usually servers don't send a body with a redirect, only a "location" header, that is probably why we didn't see this bug before. > > This might be due to the way EsiGate handles redirects in method org.esigate.Driver.render(String, IncomingRequest, Renderer...). As the redirect contains a body that is not consumed, HttpClient cannot release the connection. I guess adding a response.close() inside the while loop should fix the issue. > > > > 2016-07-20 15:38 GMT+02:00 Lorenzati Yannick <YLo...@vo... <mailto:YLo...@vo...>>: > > Hello, > > We make a little UnitTest to illustrate the leak. > We add a module connection-leak, you can found it here : > https://github.com/ylorenza/esigate/tree/esigate-5.1-connLeak/connection-leak <https://github.com/ylorenza/esigate/tree/esigate-5.1-connLeak/connection-leak> > > Just do > > git clone https://github.com/ylorenza/esigate <https://github.com/ylorenza/esigate> > git checkout esigate-5.1-connLeak > mvn compile > cd connection-leak/ > mvn test -Dtest=TestLeak#testConnectionOverPoolSize > > This test testConnectionOverPoolSize illustrate the bug. If we launch it with esigate 5.0, it pass. > > Hope it will help you > > > > > De : fx....@gm... <mailto:fx....@gm...> [mailto:fx....@gm... <mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet > Envoyé : mercredi 13 juillet 2016 18:10 > À : Auffredou Thomas <TAu...@vo...> <mailto:TAu...@vo...> > Cc : Poupon Emilie <EP...@VO...> <mailto:EP...@VO...>; Francois-Xavier Bonnet <fra...@ce...> <mailto:fra...@ce...>; web...@li... <mailto:web...@li...> > > Objet : Re: [EsiGate-users] Connection thread leak > > > > I agree with you, according to the thread dump, all the threads are waiting for a connection from the connection pool. There must be a connection leak somewhere. Now we need to find when and why this happens... > > > > 2016-07-13 17:44 GMT+02:00 Auffredou Thomas <TAu...@vo... <mailto:TAu...@vo...>>: > > Hello, > > > > I really suspect the apache PoolingHttpClientConnectionManager. > > For some reason it doesn’t release connection from to the pool when ESIGate fetches resources resulting with a 302. > > > > Every connection from ESIgate to the backend server is in CLOSE_WAIT state, meaning it has been closed by the server but the pool does not discard it. > > > > A thread dump shows those clients are awaiting the request to complete indefinitely. (PoolEntryFuture.java:133) > > I didn’t find any configuration directive in ESIGate to evict old connections from the pool. > > > > You will find the full thread dump in the attached file. > > > > Thanks for your help and your time > > Thomas > > > > De : Poupon Emilie > Envoyé : mardi 12 juillet 2016 19:36 > À : Francois-Xavier Bonnet <fra...@ce... <mailto:fra...@ce...>> > Cc : Auffredou Thomas <TAu...@vo... <mailto:TAu...@vo...>>; web...@li... <mailto:web...@li...> > Objet : RE: [EsiGate-users] Connection thread leak > > > > > > In our logs, we can see the http 302 response : > > 740 INFO http-nio-10.98.65.31-51125-exec-30 org.esigate.extension.FetchLogging - http://preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/> - GET /fr/page-editoriale/idvroom-le-covoiturage-au-quotidien?alextest HTTP/1.1 {user-agent: curl/7.43.0,accept: */*,wl-proxy-ssl: true,clientip: 194.3.103.60,X-Forwarded-For: 194.3.103.60, 10.41.5.221, 10.98.64.37,x-forwarded-host: preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/>, preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/>,x-forwarded-server: preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/>, preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/>,X-Forwarded-Proto: http,X-Esigate-Int-Surrogate-Id: esigate,Surrogate-Capabilities: esigate="Surrogate/1.0 ESI/1.0 ESI-Inline/1.0 X-ESI-Fragment/1.0 X-ESI-Replace/1.0 X-ESI-XSLT/1.0 ESIGATE/4.0",Content-Length: 0,Host: preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/>,Connection: Keep-Alive,Accept-Encoding: gzip,deflate} -> HTTP/1.1 200 OK (2005 ms) {Date: Tue, 12 Jul 2016 17:10:52 GMT,X-Content-Type-Options: nosniff,Expires: Sun, 19 Nov 1978 05:00:00 GMT,X-Content-Type-Options: nosniff,Content-Language: fr,Content-Type: text/html; charset=utf-8,Cache-Control: max-age=180, public,Transfer-Encoding: chunked,Connection: close,Accept-Ranges: bytes} > > > And then, our already seen UnknownHostException. > > This is not a DNS server problem, we check this point. > > > > On our configuration, we force HTTPS on the Apache front end. > > Because of what I have read, I want to do a test with an HTTP website. I’ll tell you about this test tomorrow. > > 2016-07-12 18:37:32,864 ERROR http-nio-10.98.65.31-51125-exec-11 org.esigate.HttpErrorPage - Error retrieving URL > java.net.UnknownHostException: preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/>: unknown error > at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) > at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) > at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) > at java.net.InetAddress.getAllByName0(InetAddress.java:1255) > at java.net.InetAddress.getAllByName(InetAddress.java:1171) > at java.net.InetAddress.getAllByName(InetAddress.java:1105) > at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) > at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:101) > at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) > at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) > at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) > at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) > at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) > at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) > at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) > at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) > at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) > at org.esigate.Driver.render(Driver.java:188) > at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) > at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) > at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) > at org.esigate.parser.Parser.parse(Parser.java:76) > at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) > at org.esigate.Driver.performRendering(Driver.java:401) > at org.esigate.Driver.performRendering(Driver.java:360) > at org.esigate.Driver.proxy(Driver.java:295) > at org.esigate.DriverFactory.proxy(DriverFactory.java:403) > at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > at psiprobe.Tomcat70AgentValve.invoke(Tomcat70AgentValve.java:62) > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1721) > at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679) > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > > > > > > > Emilie > > > > De : fx....@gm... <mailto:fx....@gm...> [mailto:fx....@gm... <mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet > Envoyé : mardi 12 juillet 2016 17:48 > À : Poupon Emilie <EP...@VO... <mailto:EP...@VO...>> > Cc : Francois-Xavier Bonnet <fra...@ce... <mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo... <mailto:TAu...@vo...>>; web...@li... <mailto:web...@li...> > Objet : Re: [EsiGate-users] Connection thread leak > > > > EsiGate is following automatically redirects when performing an ESI include so this should work unless the response from the server is invalid. There should be more details about the 502 in the logs or in the error page. > > > > 2016-07-12 17:30 GMT+02:00 Poupon Emilie <EP...@vo... <mailto:EP...@vo...>>: > > We found out something ! > > > > It seems that we implemented a too complex error management with bad redirections : > > If an error occurs on an ESI inclusion request (ex : "resource not found" on application site), our app returns a 302 to rederect users on a “clean 404 error page” (which is on DRUPAL side). > > At this stage, EsiGate don’t manage the 302 and responds with a 502 + the thread is blocked. > > > > We are going to improve our application and the error management to not respond a 302 to an ESI request. > > > > Do you know about EsiGate problems when getting a 302 response in the context of an ESI tag request? Do you have ideas to manage these cases. > > Thx, > > Emilie Poupon Adam > > Responsable Delivery Web Mobile > > VSC Technologies > > > > De : fx....@gm... <mailto:fx....@gm...> [mailto:fx....@gm... <mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet > Envoyé : mardi 12 juillet 2016 15:41 > > > À : Poupon Emilie <EP...@VO... <mailto:EP...@VO...>> > Cc : Francois-Xavier Bonnet <fra...@ce... <mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo... <mailto:TAu...@vo...>>; web...@li... <mailto:web...@li...> > Objet : Re: [EsiGate-users] Connection thread leak > > > > It looks like you might have an issue with your DNS server. Did you keep the full thread dump where you took the abstract in your first mail? > > > > > > > > > > > > > ------------------------------------------------------------------------------ > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity planning > reports.http://sdm.link/zohodev2dev_______________________________________________ > Webassembletool-users mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webassembletool-users |
From: Francois-Xavier B. <fra...@ce...> - 2016-07-20 15:25:25
|
You can see the changes between 5.0 and 5.1 here: https://github.com/esigate/esigate/milestone/8?closed=1 Also since 5.1 there were a few fixes that have not been released yet: https://github.com/esigate/esigate/milestone/10?closed=1 There are several options: - You can stay on version 5.0 if you are not concerned by those bugs/enhancements - I will fix the bug you found and release version 5.2 when I have time - If you can contribute a pull request with a fix and a unit test, I could release version 5.2 very quickly 2016-07-20 17:05 GMT+02:00 Poupon Emilie <EP...@vo...>: > Hello, > > > > Today we tried to deploy previous version of ESIGate (ESI 5.0) and it > seems to work well in our context. > > What do you think about this idea of using previous version of your > component? > > Is this version reliable enough for a quite used website on production ? > > Do you have warnings about this version ? > > > > Thx, > > Emilie > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mercredi 20 juillet 2016 16:40 > *À :* Lorenzati Yannick <YLo...@vo...> > *Cc :* Poupon Emilie <EP...@VO...>; > web...@li...; > fra...@ce...; Auffredou Thomas < > TAu...@vo...> > *Objet :* Re: TR: [EsiGate-users] Connection thread leak > > > > Good catch! Thank you very much, I have been able to reproduce the issue. > > I think that this problem occurs only when you are performing an include, > then you get a 302 redirect and also the redirect response contains a body. > Usually servers don't send a body with a redirect, only a "location" > header, that is probably why we didn't see this bug before. > > This might be due to the way EsiGate handles redirects in > method org.esigate.Driver.render(String, IncomingRequest, Renderer...). As > the redirect contains a body that is not consumed, HttpClient cannot > release the connection. I guess adding a response.close() inside the while > loop should fix the issue. > > > > 2016-07-20 15:38 GMT+02:00 Lorenzati Yannick < > YLo...@vo...>: > > Hello, > > We make a little UnitTest to illustrate the leak. > We add a module connection-leak, you can found it here : > > https://github.com/ylorenza/esigate/tree/esigate-5.1-connLeak/connection-leak > > Just do > > git clone https://github.com/ylorenza/esigate > git checkout esigate-5.1-connLeak > mvn compile > cd connection-leak/ > mvn test -Dtest=TestLeak#testConnectionOverPoolSize > > This test testConnectionOverPoolSize illustrate the bug. If we launch it > with esigate 5.0, it pass. > > Hope it will help you > > > > *De :* fx....@gm... [mailto:fx....@gm... > <fx....@gm...>] *De la part de* Francois-Xavier Bonnet > *Envoyé :* mercredi 13 juillet 2016 18:10 > *À :* Auffredou Thomas <TAu...@vo...> > <TAu...@vo...> > *Cc :* Poupon Emilie <EP...@VO...> <EP...@VO...>; > Francois-Xavier Bonnet <fra...@ce...> > <fra...@ce...>; > web...@li... > > > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > I agree with you, according to the thread dump, all the threads are > waiting for a connection from the connection pool. There must be a > connection leak somewhere. Now we need to find when and why this happens... > > > > 2016-07-13 17:44 GMT+02:00 Auffredou Thomas < > TAu...@vo...>: > > Hello, > > > > I really suspect the apache PoolingHttpClientConnectionManager. > > For some reason it doesn’t release connection from to the pool when > ESIGate fetches resources resulting with a 302. > > > > Every connection from ESIgate to the backend server is in CLOSE_WAIT > state, meaning it has been closed by the server but the pool does not > discard it. > > > > A thread dump shows those clients are awaiting the request to complete > indefinitely. (PoolEntryFuture.java:133) > > I didn’t find any configuration directive in ESIGate to evict old > connections from the pool. > > > > You will find the full thread dump in the attached file. > > > > Thanks for your help and your time > > Thomas > > > > *De :* Poupon Emilie > *Envoyé :* mardi 12 juillet 2016 19:36 > *À :* Francois-Xavier Bonnet <fra...@ce...> > *Cc :* Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* RE: [EsiGate-users] Connection thread leak > > > > > > In our logs, we can see the http 302 response : > > 740 INFO http-nio-10.98.65.31-51125-exec-30 > org.esigate.extension.FetchLogging - http://preprod1.tri.vsct.fr - GET > /fr/page-editoriale/idvroom-le-covoiturage-au-quotidien?alextest HTTP/1.1 > {user-agent: curl/7.43.0,accept: */*,wl-proxy-ssl: true,clientip: > 194.3.103.60,X-Forwarded-For: 194.3.103.60, 10.41.5.221, > 10.98.64.37,x-forwarded-host: preprod1.tri.vsct.fr, preprod1.tri.vsct.fr,x-forwarded-server: > preprod1.tri.vsct.fr, preprod1.tri.vsct.fr,X-Forwarded-Proto: > http,X-Esigate-Int-Surrogate-Id: esigate,Surrogate-Capabilities: > esigate="Surrogate/1.0 ESI/1.0 ESI-Inline/1.0 X-ESI-Fragment/1.0 > X-ESI-Replace/1.0 X-ESI-XSLT/1.0 ESIGATE/4.0",Content-Length: 0,Host: > preprod1.tri.vsct.fr,Connection: Keep-Alive,Accept-Encoding: > gzip,deflate} -> HTTP/1.1 200 OK (2005 ms) {Date: Tue, 12 Jul 2016 17:10:52 > GMT,X-Content-Type-Options: nosniff,Expires: Sun, 19 Nov 1978 05:00:00 > GMT,X-Content-Type-Options: nosniff,Content-Language: fr,Content-Type: > text/html; charset=utf-8,Cache-Control: max-age=180, > public,Transfer-Encoding: chunked,Connection: close,Accept-Ranges: bytes} > > > > And then, our already seen UnknownHostException. > > This is not a DNS server problem, we check this point. > > > > On our configuration, we force HTTPS on the Apache front end. > > Because of what I have read, I want to do a test with an HTTP website. > I’ll tell you about this test tomorrow. > > 2016-07-12 18:37:32,864 ERROR http-nio-10.98.65.31-51125-exec-11 > org.esigate.HttpErrorPage - Error retrieving URL > > java.net.UnknownHostException: preprod1.tri.vsct.fr: unknown error > > at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) > > at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) > > at > java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) > > at java.net.InetAddress.getAllByName0(InetAddress.java:1255) > > at java.net.InetAddress.getAllByName(InetAddress.java:1171) > > at java.net.InetAddress.getAllByName(InetAddress.java:1105) > > at > org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) > > at > org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:101) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) > > at > org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) > > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) > > at > org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) > > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) > > at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) > > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) > > at > org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) > > at org.esigate.Driver.render(Driver.java:188) > > at > org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) > > at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) > > at > org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) > > at org.esigate.parser.Parser.parse(Parser.java:76) > > at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) > > at org.esigate.Driver.performRendering(Driver.java:401) > > at org.esigate.Driver.performRendering(Driver.java:360) > > at org.esigate.Driver.proxy(Driver.java:295) > > at org.esigate.DriverFactory.proxy(DriverFactory.java:403) > > at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > at psiprobe.Tomcat70AgentValve.invoke(Tomcat70AgentValve.java:62) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1721) > > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > > at java.lang.Thread.run(Thread.java:745) > > > > > > > > Emilie > > > > *De :* fx....@gm... [mailto:fx....@gm... > <fx....@gm...>] *De la part de* Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 17:48 > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > EsiGate is following automatically redirects when performing an ESI > include so this should work unless the response from the server is invalid. > There should be more details about the 502 in the logs or in the error page. > > > > 2016-07-12 17:30 GMT+02:00 Poupon Emilie <EP...@vo...>: > > We found out something ! > > > > It seems that we implemented a too complex error management with bad > redirections : > > If an error occurs on an ESI inclusion request (ex : "resource not found" > on application site), our app returns a 302 to rederect users on a “clean > 404 error page” (which is on DRUPAL side). > > At this stage, EsiGate don’t manage the 302 and responds with a 502 + the > thread is blocked. > > > > We are going to improve our application and the error management to not > respond a 302 to an ESI request. > > > > Do you know about EsiGate problems when getting a 302 response in the > context of an ESI tag request? Do you have ideas to manage these cases. > > Thx, > > Emilie Poupon Adam > > Responsable Delivery Web Mobile > > VSC Technologies > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 15:41 > > > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > It looks like you might have an issue with your DNS server. Did you keep > the full thread dump where you took the abstract in your first mail? > > > > > > > > > > > |
From: Nicolas R. <nic...@gm...> - 2016-07-20 15:17:03
|
Hello, Nice catch. For the record, this new redirect handling code was introduced 7 days after releasing 5.0 (8afc936). I was suspecting some httpclient bugs but that was not the case. Thanks for the unit test. I think it could be integrated to the main test suite without starting a full esigate instance. See public void testSocketReadTimeoutWithCacheAndGzipDoesNotLeak() in DriverTest Nicolas > Le 20 juil. 2016 à 16:39, Francois-Xavier Bonnet <fra...@ce... <mailto:fra...@ce...>> a écrit : > > Good catch! Thank you very much, I have been able to reproduce the issue. > I think that this problem occurs only when you are performing an include, then you get a 302 redirect and also the redirect response contains a body. Usually servers don't send a body with a redirect, only a "location" header, that is probably why we didn't see this bug before. > This might be due to the way EsiGate handles redirects in method org.esigate.Driver.render(String, IncomingRequest, Renderer...). As the redirect contains a body that is not consumed, HttpClient cannot release the connection. I guess adding a response.close() inside the while loop should fix the issue. > > 2016-07-20 15:38 GMT+02:00 Lorenzati Yannick <YLo...@vo... <mailto:YLo...@vo...>>: > Hello, > > We make a little UnitTest to illustrate the leak. > We add a module connection-leak, you can found it here : > https://github.com/ylorenza/esigate/tree/esigate-5.1-connLeak/connection-leak <https://github.com/ylorenza/esigate/tree/esigate-5.1-connLeak/connection-leak> > > Just do > > git clone https://github.com/ylorenza/esigate <https://github.com/ylorenza/esigate> > git checkout esigate-5.1-connLeak > mvn compile > cd connection-leak/ > mvn test -Dtest=TestLeak#testConnectionOverPoolSize > > This test testConnectionOverPoolSize illustrate the bug. If we launch it with esigate 5.0, it pass. > > Hope it will help you > > >> De : fx....@gm... <mailto:fx....@gm...> [mailto:fx....@gm... <mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet >> Envoyé : mercredi 13 juillet 2016 18:10 >> À : Auffredou Thomas <TAu...@vo...> <mailto:TAu...@vo...> >> Cc : Poupon Emilie <EP...@VO...> <mailto:EP...@VO...>; Francois-Xavier Bonnet <fra...@ce...> <mailto:fra...@ce...>;web...@li... <mailto:web...@li...> >> >> Objet : Re: [EsiGate-users] Connection thread leak >> >> >> >> I agree with you, according to the thread dump, all the threads are waiting for a connection from the connection pool. There must be a connection leak somewhere. Now we need to find when and why this happens... >> >> >> >> 2016-07-13 17:44 GMT+02:00 Auffredou Thomas <TAu...@vo... <mailto:TAu...@vo...>>: >> >> Hello, >> >> >> >> I really suspect the apache PoolingHttpClientConnectionManager. >> >> For some reason it doesn’t release connection from to the pool when ESIGate fetches resources resulting with a 302. >> >> >> >> Every connection from ESIgate to the backend server is in CLOSE_WAIT state, meaning it has been closed by the server but the pool does not discard it. >> >> >> >> A thread dump shows those clients are awaiting the request to complete indefinitely. (PoolEntryFuture.java:133) >> >> I didn’t find any configuration directive in ESIGate to evict old connections from the pool. >> >> >> >> You will find the full thread dump in the attached file. >> >> >> >> Thanks for your help and your time >> >> Thomas >> >> >> >> De : Poupon Emilie >> Envoyé : mardi 12 juillet 2016 19:36 >> À : Francois-Xavier Bonnet <fra...@ce... <mailto:fra...@ce...>> >> Cc : Auffredou Thomas <TAu...@vo... <mailto:TAu...@vo...>>; web...@li... <mailto:web...@li...> >> Objet : RE: [EsiGate-users] Connection thread leak >> >> >> >> >> >> In our logs, we can see the http 302 response : >> >> 740 INFO http-nio-10.98.65.31-51125-exec-30 org.esigate.extension.FetchLogging - http://preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/> - GET /fr/page-editoriale/idvroom-le-covoiturage-au-quotidien?alextest HTTP/1.1 {user-agent: curl/7.43.0,accept: */*,wl-proxy-ssl: true,clientip: 194.3.103.60,X-Forwarded-For: 194.3.103.60, 10.41.5.221, 10.98.64.37,x-forwarded-host: preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/>, preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/>,x-forwarded-server: preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/>,preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/>,X-Forwarded-Proto: http,X-Esigate-Int-Surrogate-Id: esigate,Surrogate-Capabilities: esigate="Surrogate/1.0 ESI/1.0 ESI-Inline/1.0 X-ESI-Fragment/1.0 X-ESI-Replace/1.0 X-ESI-XSLT/1.0 ESIGATE/4.0",Content-Length: 0,Host: preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/>,Connection: Keep-Alive,Accept-Encoding: gzip,deflate} -> HTTP/1.1 200 OK (2005 ms) {Date: Tue, 12 Jul 2016 17:10:52 GMT,X-Content-Type-Options: nosniff,Expires: Sun, 19 Nov 1978 05:00:00 GMT,X-Content-Type-Options: nosniff,Content-Language: fr,Content-Type: text/html; charset=utf-8,Cache-Control: max-age=180, public,Transfer-Encoding: chunked,Connection: close,Accept-Ranges: bytes} >> >> >> And then, our already seen UnknownHostException. >> >> This is not a DNS server problem, we check this point. >> >> >> >> On our configuration, we force HTTPS on the Apache front end. >> >> Because of what I have read, I want to do a test with an HTTP website. I’ll tell you about this test tomorrow. >> >> 2016-07-12 18:37:32,864 ERROR http-nio-10.98.65.31-51125-exec-11 org.esigate.HttpErrorPage - Error retrieving URL >> java.net.UnknownHostException: preprod1.tri.vsct.fr <http://preprod1.tri.vsct.fr/>: unknown error >> at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) >> at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) >> at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) >> at java.net.InetAddress.getAllByName0(InetAddress.java:1255) >> at java.net.InetAddress.getAllByName(InetAddress.java:1171) >> at java.net.InetAddress.getAllByName(InetAddress.java:1105) >> at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) >> at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:101) >> at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) >> at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) >> at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) >> at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) >> at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) >> at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) >> at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) >> at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) >> at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) >> at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) >> at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) >> at org.esigate.Driver.render(Driver.java:188) >> at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) >> at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) >> at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) >> at org.esigate.parser.Parser.parse(Parser.java:76) >> at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) >> at org.esigate.Driver.performRendering(Driver.java:401) >> at org.esigate.Driver.performRendering(Driver.java:360) >> at org.esigate.Driver.proxy(Driver.java:295) >> at org.esigate.DriverFactory.proxy(DriverFactory.java:403) >> at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) >> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) >> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) >> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) >> at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) >> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) >> at psiprobe.Tomcat70AgentValve.invoke(Tomcat70AgentValve.java:62) >> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) >> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) >> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) >> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) >> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) >> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1721) >> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679) >> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) >> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) >> at java.lang.Thread.run(Thread.java:745) >> >> >> >> >> >> >> Emilie >> >> >> >> De : fx....@gm... <mailto:fx....@gm...> [mailto:fx....@gm... <mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet >> Envoyé : mardi 12 juillet 2016 17:48 >> À : Poupon Emilie <EP...@VO... <mailto:EP...@VO...>> >> Cc : Francois-Xavier Bonnet <fra...@ce... <mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo... <mailto:TAu...@vo...>>; web...@li... <mailto:web...@li...> >> Objet : Re: [EsiGate-users] Connection thread leak >> >> >> >> EsiGate is following automatically redirects when performing an ESI include so this should work unless the response from the server is invalid. There should be more details about the 502 in the logs or in the error page. >> >> >> >> 2016-07-12 17:30 GMT+02:00 Poupon Emilie <EP...@vo... <mailto:EP...@vo...>>: >> >> We found out something ! >> >> >> >> It seems that we implemented a too complex error management with bad redirections : >> >> If an error occurs on an ESI inclusion request (ex : "resource not found" on application site), our app returns a 302 to rederect users on a “clean 404 error page” (which is on DRUPAL side). >> >> At this stage, EsiGate don’t manage the 302 and responds with a 502 + the thread is blocked. >> >> >> >> We are going to improve our application and the error management to not respond a 302 to an ESI request. >> >> >> >> Do you know about EsiGate problems when getting a 302 response in the context of an ESI tag request? Do you have ideas to manage these cases. >> >> Thx, >> >> Emilie Poupon Adam >> >> Responsable Delivery Web Mobile >> >> VSC Technologies >> >> >> >> De : fx....@gm... <mailto:fx....@gm...> [mailto:fx....@gm... <mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet >> Envoyé : mardi 12 juillet 2016 15:41 >> >> >> À : Poupon Emilie <EP...@VO... <mailto:EP...@VO...>> >> Cc : Francois-Xavier Bonnet <fra...@ce... <mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo... <mailto:TAu...@vo...>>; web...@li... <mailto:web...@li...> >> Objet : Re: [EsiGate-users] Connection thread leak >> >> >> >> It looks like you might have an issue with your DNS server. Did you keep the full thread dump where you took the abstract in your first mail? >> >> >> >> >> >> >> > > > ------------------------------------------------------------------------------ > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity planning > reports.http://sdm.link/zohodev2dev_______________________________________________ <http://sdm.link/zohodev2dev_______________________________________________> > Webassembletool-users mailing list > Web...@li... <mailto:Web...@li...> > https://lists.sourceforge.net/lists/listinfo/webassembletool-users <https://lists.sourceforge.net/lists/listinfo/webassembletool-users> |
From: Poupon E. <EP...@VO...> - 2016-07-20 15:05:25
|
Hello, Today we tried to deploy previous version of ESIGate (ESI 5.0) and it seems to work well in our context. What do you think about this idea of using previous version of your component? Is this version reliable enough for a quite used website on production ? Do you have warnings about this version ? Thx, Emilie De : fx....@gm... [mailto:fx....@gm...] De la part de Francois-Xavier Bonnet Envoyé : mercredi 20 juillet 2016 16:40 À : Lorenzati Yannick <YLo...@vo...> Cc : Poupon Emilie <EP...@VO...>; web...@li...; fra...@ce...; Auffredou Thomas <TAu...@vo...> Objet : Re: TR: [EsiGate-users] Connection thread leak Good catch! Thank you very much, I have been able to reproduce the issue. I think that this problem occurs only when you are performing an include, then you get a 302 redirect and also the redirect response contains a body. Usually servers don't send a body with a redirect, only a "location" header, that is probably why we didn't see this bug before. This might be due to the way EsiGate handles redirects in method org.esigate.Driver.render(String, IncomingRequest, Renderer...). As the redirect contains a body that is not consumed, HttpClient cannot release the connection. I guess adding a response.close() inside the while loop should fix the issue. 2016-07-20 15:38 GMT+02:00 Lorenzati Yannick <YLo...@vo...<mailto:YLo...@vo...>>: Hello, We make a little UnitTest to illustrate the leak. We add a module connection-leak, you can found it here : https://github.com/ylorenza/esigate/tree/esigate-5.1-connLeak/connection-leak Just do git clone https://github.com/ylorenza/esigate git checkout esigate-5.1-connLeak mvn compile cd connection-leak/ mvn test -Dtest=TestLeak#testConnectionOverPoolSize This test testConnectionOverPoolSize illustrate the bug. If we launch it with esigate 5.0, it pass. Hope it will help you De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...] De la part de Francois-Xavier Bonnet Envoyé : mercredi 13 juillet 2016 18:10 À : Auffredou Thomas <TAu...@vo...><mailto:TAu...@vo...> Cc : Poupon Emilie <EP...@VO...><mailto:EP...@VO...>; Francois-Xavier Bonnet <fra...@ce...><mailto:fra...@ce...>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak I agree with you, according to the thread dump, all the threads are waiting for a connection from the connection pool. There must be a connection leak somewhere. Now we need to find when and why this happens... 2016-07-13 17:44 GMT+02:00 Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>: Hello, I really suspect the apache PoolingHttpClientConnectionManager. For some reason it doesn’t release connection from to the pool when ESIGate fetches resources resulting with a 302. Every connection from ESIgate to the backend server is in CLOSE_WAIT state, meaning it has been closed by the server but the pool does not discard it. A thread dump shows those clients are awaiting the request to complete indefinitely. (PoolEntryFuture.java:133) I didn’t find any configuration directive in ESIGate to evict old connections from the pool. You will find the full thread dump in the attached file. Thanks for your help and your time Thomas De : Poupon Emilie Envoyé : mardi 12 juillet 2016 19:36 À : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>> Cc : Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : RE: [EsiGate-users] Connection thread leak In our logs, we can see the http 302 response : 740 INFO http-nio-10.98.65.31-51125-exec-30 org.esigate.extension.FetchLogging - http://preprod1.tri.vsct.fr - GET /fr/page-editoriale/idvroom-le-covoiturage-au-quotidien?alextest HTTP/1.1 {user-agent: curl/7.43.0,accept: */*,wl-proxy-ssl: true,clientip: 194.3.103.60,X-Forwarded-For: 194.3.103.60, 10.41.5.221, 10.98.64.37,x-forwarded-host: preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>, preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>,x-forwarded-server: preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>, preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>,X-Forwarded-Proto: http,X-Esigate-Int-Surrogate-Id: esigate,Surrogate-Capabilities: esigate="Surrogate/1.0 ESI/1.0 ESI-Inline/1.0 X-ESI-Fragment/1.0 X-ESI-Replace/1.0 X-ESI-XSLT/1.0 ESIGATE/4.0",Content-Length: 0,Host: preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>,Connection: Keep-Alive,Accept-Encoding: gzip,deflate} -> HTTP/1.1 200 OK (2005 ms) {Date: Tue, 12 Jul 2016 17:10:52 GMT,X-Content-Type-Options: nosniff,Expires: Sun, 19 Nov 1978 05:00:00 GMT,X-Content-Type-Options: nosniff,Content-Language: fr,Content-Type: text/html; charset=utf-8,Cache-Control: max-age=180, public,Transfer-Encoding: chunked,Connection: close,Accept-Ranges: bytes} And then, our already seen UnknownHostException. This is not a DNS server problem, we check this point. On our configuration, we force HTTPS on the Apache front end. Because of what I have read, I want to do a test with an HTTP website. I’ll tell you about this test tomorrow. 2016-07-12 18:37:32,864 ERROR http-nio-10.98.65.31-51125-exec-11 org.esigate.HttpErrorPage - Error retrieving URL java.net.UnknownHostException: preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>: unknown error at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) at java.net.InetAddress.getAllByName0(InetAddress.java:1255) at java.net.InetAddress.getAllByName(InetAddress.java:1171) at java.net.InetAddress.getAllByName(InetAddress.java:1105) at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:101) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:188) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at psiprobe.Tomcat70AgentValve.invoke(Tomcat70AgentValve.java:62) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1721) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Emilie De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 17:48 À : Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Cc : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak EsiGate is following automatically redirects when performing an ESI include so this should work unless the response from the server is invalid. There should be more details about the 502 in the logs or in the error page. 2016-07-12 17:30 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: We found out something ! It seems that we implemented a too complex error management with bad redirections : If an error occurs on an ESI inclusion request (ex : "resource not found" on application site), our app returns a 302 to rederect users on a “clean 404 error page” (which is on DRUPAL side). At this stage, EsiGate don’t manage the 302 and responds with a 502 + the thread is blocked. We are going to improve our application and the error management to not respond a 302 to an ESI request. Do you know about EsiGate problems when getting a 302 response in the context of an ESI tag request? Do you have ideas to manage these cases. Thx, Emilie Poupon Adam Responsable Delivery Web Mobile VSC Technologies De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 15:41 À : Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Cc : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak It looks like you might have an issue with your DNS server. Did you keep the full thread dump where you took the abstract in your first mail? |
From: Francois-Xavier B. <fra...@ce...> - 2016-07-20 14:40:09
|
Good catch! Thank you very much, I have been able to reproduce the issue. I think that this problem occurs only when you are performing an include, then you get a 302 redirect and also the redirect response contains a body. Usually servers don't send a body with a redirect, only a "location" header, that is probably why we didn't see this bug before. This might be due to the way EsiGate handles redirects in method org.esigate.Driver.render(String, IncomingRequest, Renderer...). As the redirect contains a body that is not consumed, HttpClient cannot release the connection. I guess adding a response.close() inside the while loop should fix the issue. 2016-07-20 15:38 GMT+02:00 Lorenzati Yannick < YLo...@vo...>: > Hello, > > We make a little UnitTest to illustrate the leak. > We add a module connection-leak, you can found it here : > > https://github.com/ylorenza/esigate/tree/esigate-5.1-connLeak/connection-leak > > Just do > > git clone https://github.com/ylorenza/esigate > git checkout esigate-5.1-connLeak > mvn compile > cd connection-leak/ > mvn test -Dtest=TestLeak#testConnectionOverPoolSize > > This test testConnectionOverPoolSize illustrate the bug. If we launch it > with esigate 5.0, it pass. > > Hope it will help you > > > *De :* fx....@gm... [mailto:fx....@gm... > <fx....@gm...>] *De la part de* Francois-Xavier Bonnet > *Envoyé :* mercredi 13 juillet 2016 18:10 > *À :* Auffredou Thomas <TAu...@vo...> > <TAu...@vo...> > *Cc :* Poupon Emilie <EP...@VO...> <EP...@VO...>; > Francois-Xavier Bonnet <fra...@ce...> > <fra...@ce...>; > web...@li... > > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > I agree with you, according to the thread dump, all the threads are > waiting for a connection from the connection pool. There must be a > connection leak somewhere. Now we need to find when and why this happens... > > > > 2016-07-13 17:44 GMT+02:00 Auffredou Thomas < > TAu...@vo...>: > > Hello, > > > > I really suspect the apache PoolingHttpClientConnectionManager. > > For some reason it doesn’t release connection from to the pool when > ESIGate fetches resources resulting with a 302. > > > > Every connection from ESIgate to the backend server is in CLOSE_WAIT > state, meaning it has been closed by the server but the pool does not > discard it. > > > > A thread dump shows those clients are awaiting the request to complete > indefinitely. (PoolEntryFuture.java:133) > > I didn’t find any configuration directive in ESIGate to evict old > connections from the pool. > > > > You will find the full thread dump in the attached file. > > > > Thanks for your help and your time > > Thomas > > > > *De :* Poupon Emilie > *Envoyé :* mardi 12 juillet 2016 19:36 > *À :* Francois-Xavier Bonnet <fra...@ce...> > *Cc :* Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* RE: [EsiGate-users] Connection thread leak > > > > > > In our logs, we can see the http 302 response : > > 740 INFO http-nio-10.98.65.31-51125-exec-30 > org.esigate.extension.FetchLogging - http://preprod1.tri.vsct.fr - GET > /fr/page-editoriale/idvroom-le-covoiturage-au-quotidien?alextest HTTP/1.1 > {user-agent: curl/7.43.0,accept: */*,wl-proxy-ssl: true,clientip: > 194.3.103.60,X-Forwarded-For: 194.3.103.60, 10.41.5.221, > 10.98.64.37,x-forwarded-host: preprod1.tri.vsct.fr, preprod1.tri.vsct.fr,x-forwarded-server: > preprod1.tri.vsct.fr, preprod1.tri.vsct.fr,X-Forwarded-Proto: > http,X-Esigate-Int-Surrogate-Id: esigate,Surrogate-Capabilities: > esigate="Surrogate/1.0 ESI/1.0 ESI-Inline/1.0 X-ESI-Fragment/1.0 > X-ESI-Replace/1.0 X-ESI-XSLT/1.0 ESIGATE/4.0",Content-Length: 0,Host: > preprod1.tri.vsct.fr,Connection: Keep-Alive,Accept-Encoding: > gzip,deflate} -> HTTP/1.1 200 OK (2005 ms) {Date: Tue, 12 Jul 2016 17:10:52 > GMT,X-Content-Type-Options: nosniff,Expires: Sun, 19 Nov 1978 05:00:00 > GMT,X-Content-Type-Options: nosniff,Content-Language: fr,Content-Type: > text/html; charset=utf-8,Cache-Control: max-age=180, > public,Transfer-Encoding: chunked,Connection: close,Accept-Ranges: bytes} > > > > And then, our already seen UnknownHostException. > > This is not a DNS server problem, we check this point. > > > > On our configuration, we force HTTPS on the Apache front end. > > Because of what I have read, I want to do a test with an HTTP website. > I’ll tell you about this test tomorrow. > > 2016-07-12 18:37:32,864 ERROR http-nio-10.98.65.31-51125-exec-11 > org.esigate.HttpErrorPage - Error retrieving URL > > java.net.UnknownHostException: preprod1.tri.vsct.fr: unknown error > > at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) > > at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) > > at > java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) > > at java.net.InetAddress.getAllByName0(InetAddress.java:1255) > > at java.net.InetAddress.getAllByName(InetAddress.java:1171) > > at java.net.InetAddress.getAllByName(InetAddress.java:1105) > > at > org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) > > at > org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:101) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) > > at > org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) > > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) > > at > org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) > > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) > > at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) > > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) > > at > org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) > > at org.esigate.Driver.render(Driver.java:188) > > at > org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) > > at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) > > at > org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) > > at org.esigate.parser.Parser.parse(Parser.java:76) > > at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) > > at org.esigate.Driver.performRendering(Driver.java:401) > > at org.esigate.Driver.performRendering(Driver.java:360) > > at org.esigate.Driver.proxy(Driver.java:295) > > at org.esigate.DriverFactory.proxy(DriverFactory.java:403) > > at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > at psiprobe.Tomcat70AgentValve.invoke(Tomcat70AgentValve.java:62) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1721) > > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > > at java.lang.Thread.run(Thread.java:745) > > > > > > > > Emilie > > > > *De :* fx....@gm... [mailto:fx....@gm... > <fx....@gm...>] *De la part de* Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 17:48 > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > EsiGate is following automatically redirects when performing an ESI > include so this should work unless the response from the server is invalid. > There should be more details about the 502 in the logs or in the error page. > > > > 2016-07-12 17:30 GMT+02:00 Poupon Emilie <EP...@vo...>: > > We found out something ! > > > > It seems that we implemented a too complex error management with bad > redirections : > > If an error occurs on an ESI inclusion request (ex : "resource not found" > on application site), our app returns a 302 to rederect users on a “clean > 404 error page” (which is on DRUPAL side). > > At this stage, EsiGate don’t manage the 302 and responds with a 502 + the > thread is blocked. > > > > We are going to improve our application and the error management to not > respond a 302 to an ESI request. > > > > Do you know about EsiGate problems when getting a 302 response in the > context of an ESI tag request? Do you have ideas to manage these cases. > > Thx, > > Emilie Poupon Adam > > Responsable Delivery Web Mobile > > VSC Technologies > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 15:41 > > > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > It looks like you might have an issue with your DNS server. Did you keep > the full thread dump where you took the abstract in your first mail? > > > > > > > > > |
From: Lorenzati Y. <YLo...@vo...> - 2016-07-20 13:38:18
|
Hello, We make a little UnitTest to illustrate the leak. We add a module connection-leak, you can found it here : https://github.com/ylorenza/esigate/tree/esigate-5.1-connLeak/connection-leak Just do git clone https://github.com/ylorenza/esigate git checkout esigate-5.1-connLeak mvn compile cd connection-leak/ mvn test -Dtest=TestLeak#testConnectionOverPoolSize This test testConnectionOverPoolSize illustrate the bug. If we launch it with esigate 5.0, it pass. Hope it will help you De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...] De la part de Francois-Xavier Bonnet Envoyé : mercredi 13 juillet 2016 18:10 À : Auffredou Thomas <TAu...@vo...><mailto:TAu...@vo...> Cc : Poupon Emilie <EP...@VO...><mailto:EP...@VO...>; Francois-Xavier Bonnet <fra...@ce...><mailto:fra...@ce...>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak I agree with you, according to the thread dump, all the threads are waiting for a connection from the connection pool. There must be a connection leak somewhere. Now we need to find when and why this happens... 2016-07-13 17:44 GMT+02:00 Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>: Hello, I really suspect the apache PoolingHttpClientConnectionManager. For some reason it doesn’t release connection from to the pool when ESIGate fetches resources resulting with a 302. Every connection from ESIgate to the backend server is in CLOSE_WAIT state, meaning it has been closed by the server but the pool does not discard it. A thread dump shows those clients are awaiting the request to complete indefinitely. (PoolEntryFuture.java:133) I didn’t find any configuration directive in ESIGate to evict old connections from the pool. You will find the full thread dump in the attached file. Thanks for your help and your time Thomas De : Poupon Emilie Envoyé : mardi 12 juillet 2016 19:36 À : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>> Cc : Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : RE: [EsiGate-users] Connection thread leak In our logs, we can see the http 302 response : 740 INFO http-nio-10.98.65.31-51125-exec-30 org.esigate.extension.FetchLogging - http://preprod1.tri.vsct.fr - GET /fr/page-editoriale/idvroom-le-covoiturage-au-quotidien?alextest HTTP/1.1 {user-agent: curl/7.43.0,accept: */*,wl-proxy-ssl: true,clientip: 194.3.103.60,X-Forwarded-For: 194.3.103.60, 10.41.5.221, 10.98.64.37,x-forwarded-host: preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>, preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>,x-forwarded-server: preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>, preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>,X-Forwarded-Proto: http,X-Esigate-Int-Surrogate-Id: esigate,Surrogate-Capabilities: esigate="Surrogate/1.0 ESI/1.0 ESI-Inline/1.0 X-ESI-Fragment/1.0 X-ESI-Replace/1.0 X-ESI-XSLT/1.0 ESIGATE/4.0",Content-Length: 0,Host: preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>,Connection: Keep-Alive,Accept-Encoding: gzip,deflate} -> HTTP/1.1 200 OK (2005 ms) {Date: Tue, 12 Jul 2016 17:10:52 GMT,X-Content-Type-Options: nosniff,Expires: Sun, 19 Nov 1978 05:00:00 GMT,X-Content-Type-Options: nosniff,Content-Language: fr,Content-Type: text/html; charset=utf-8,Cache-Control: max-age=180, public,Transfer-Encoding: chunked,Connection: close,Accept-Ranges: bytes} And then, our already seen UnknownHostException. This is not a DNS server problem, we check this point. On our configuration, we force HTTPS on the Apache front end. Because of what I have read, I want to do a test with an HTTP website. I’ll tell you about this test tomorrow. 2016-07-12 18:37:32,864 ERROR http-nio-10.98.65.31-51125-exec-11 org.esigate.HttpErrorPage - Error retrieving URL java.net.UnknownHostException: preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>: unknown error at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) at java.net.InetAddress.getAllByName0(InetAddress.java:1255) at java.net.InetAddress.getAllByName(InetAddress.java:1171) at java.net.InetAddress.getAllByName(InetAddress.java:1105) at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:101) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:188) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at psiprobe.Tomcat70AgentValve.invoke(Tomcat70AgentValve.java:62) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1721) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Emilie De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 17:48 À : Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Cc : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak EsiGate is following automatically redirects when performing an ESI include so this should work unless the response from the server is invalid. There should be more details about the 502 in the logs or in the error page. 2016-07-12 17:30 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: We found out something ! It seems that we implemented a too complex error management with bad redirections : If an error occurs on an ESI inclusion request (ex : "resource not found" on application site), our app returns a 302 to rederect users on a “clean 404 error page” (which is on DRUPAL side). At this stage, EsiGate don’t manage the 302 and responds with a 502 + the thread is blocked. We are going to improve our application and the error management to not respond a 302 to an ESI request. Do you know about EsiGate problems when getting a 302 response in the context of an ESI tag request? Do you have ideas to manage these cases. Thx, Emilie Poupon Adam Responsable Delivery Web Mobile VSC Technologies De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 15:41 À : Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Cc : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak It looks like you might have an issue with your DNS server. Did you keep the full thread dump where you took the abstract in your first mail? |
From: Francois-Xavier B. <fra...@ce...> - 2016-07-13 16:44:29
|
I agree with you, according to the thread dump, all the threads are waiting for a connection from the connection pool. There must be a connection leak somewhere. Now we need to find when and why this happens... 2016-07-13 17:44 GMT+02:00 Auffredou Thomas < TAu...@vo...>: > Hello, > > > > I really suspect the apache PoolingHttpClientConnectionManager. > > For some reason it doesn’t release connection from to the pool when > ESIGate fetches resources resulting with a 302. > > > > Every connection from ESIgate to the backend server is in CLOSE_WAIT > state, meaning it has been closed by the server but the pool does not > discard it. > > > > A thread dump shows those clients are awaiting the request to complete > indefinitely. (PoolEntryFuture.java:133) > > I didn’t find any configuration directive in ESIGate to evict old > connections from the pool. > > > > You will find the full thread dump in the attached file. > > > > Thanks for your help and your time > > Thomas > > > > *De :* Poupon Emilie > *Envoyé :* mardi 12 juillet 2016 19:36 > *À :* Francois-Xavier Bonnet <fra...@ce...> > *Cc :* Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* RE: [EsiGate-users] Connection thread leak > > > > > > In our logs, we can see the http 302 response : > > 740 INFO http-nio-10.98.65.31-51125-exec-30 > org.esigate.extension.FetchLogging - http://preprod1.tri.vsct.fr - GET > /fr/page-editoriale/idvroom-le-covoiturage-au-quotidien?alextest HTTP/1.1 > {user-agent: curl/7.43.0,accept: */*,wl-proxy-ssl: true,clientip: > 194.3.103.60,X-Forwarded-For: 194.3.103.60, 10.41.5.221, > 10.98.64.37,x-forwarded-host: preprod1.tri.vsct.fr, preprod1.tri.vsct.fr,x-forwarded-server: > preprod1.tri.vsct.fr, preprod1.tri.vsct.fr,X-Forwarded-Proto: > http,X-Esigate-Int-Surrogate-Id: esigate,Surrogate-Capabilities: > esigate="Surrogate/1.0 ESI/1.0 ESI-Inline/1.0 X-ESI-Fragment/1.0 > X-ESI-Replace/1.0 X-ESI-XSLT/1.0 ESIGATE/4.0",Content-Length: 0,Host: > preprod1.tri.vsct.fr,Connection: Keep-Alive,Accept-Encoding: > gzip,deflate} -> HTTP/1.1 200 OK (2005 ms) {Date: Tue, 12 Jul 2016 17:10:52 > GMT,X-Content-Type-Options: nosniff,Expires: Sun, 19 Nov 1978 05:00:00 > GMT,X-Content-Type-Options: nosniff,Content-Language: fr,Content-Type: > text/html; charset=utf-8,Cache-Control: max-age=180, > public,Transfer-Encoding: chunked,Connection: close,Accept-Ranges: bytes} > > > > And then, our already seen UnknownHostException. > > This is not a DNS server problem, we check this point. > > > > On our configuration, we force HTTPS on the Apache front end. > > Because of what I have read, I want to do a test with an HTTP website. > I’ll tell you about this test tomorrow. > > 2016-07-12 18:37:32,864 ERROR http-nio-10.98.65.31-51125-exec-11 > org.esigate.HttpErrorPage - Error retrieving URL > > java.net.UnknownHostException: preprod1.tri.vsct.fr: unknown error > > at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) > > at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) > > at > java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) > > at java.net.InetAddress.getAllByName0(InetAddress.java:1255) > > at java.net.InetAddress.getAllByName(InetAddress.java:1171) > > at java.net.InetAddress.getAllByName(InetAddress.java:1105) > > at > org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) > > at > org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:101) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) > > at > org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) > > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) > > at > org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) > > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) > > at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) > > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) > > at > org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) > > at org.esigate.Driver.render(Driver.java:188) > > at > org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) > > at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) > > at > org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) > > at org.esigate.parser.Parser.parse(Parser.java:76) > > at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) > > at org.esigate.Driver.performRendering(Driver.java:401) > > at org.esigate.Driver.performRendering(Driver.java:360) > > at org.esigate.Driver.proxy(Driver.java:295) > > at org.esigate.DriverFactory.proxy(DriverFactory.java:403) > > at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > at psiprobe.Tomcat70AgentValve.invoke(Tomcat70AgentValve.java:62) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1721) > > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > > at java.lang.Thread.run(Thread.java:745) > > > > > > > > Emilie > > > > *De :* fx....@gm... [mailto:fx....@gm... > <fx....@gm...>] *De la part de* Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 17:48 > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > EsiGate is following automatically redirects when performing an ESI > include so this should work unless the response from the server is invalid. > There should be more details about the 502 in the logs or in the error page. > > > > 2016-07-12 17:30 GMT+02:00 Poupon Emilie <EP...@vo...>: > > We found out something ! > > > > It seems that we implemented a too complex error management with bad > redirections : > > If an error occurs on an ESI inclusion request (ex : "resource not found" > on application site), our app returns a 302 to rederect users on a “clean > 404 error page” (which is on DRUPAL side). > > At this stage, EsiGate don’t manage the 302 and responds with a 502 + the > thread is blocked. > > > > We are going to improve our application and the error management to not > respond a 302 to an ESI request. > > > > Do you know about EsiGate problems when getting a 302 response in the > context of an ESI tag request? Do you have ideas to manage these cases. > > Thx, > > Emilie Poupon Adam > > Responsable Delivery Web Mobile > > VSC Technologies > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 15:41 > > > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > It looks like you might have an issue with your DNS server. Did you keep > the full thread dump where you took the abstract in your first mail? > > > > > |
From: Auffredou T. <TAu...@vo...> - 2016-07-13 16:34:00
|
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.45-b02 mixed mode): "http-bio-1.2.3.4-51125-exec-37" #112 daemon prio=5 os_prio=0 tid=0x00007fb6a003d000 nid=0x937b waiting on condition [0x00007fb681edb000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000ec71dfa8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86) at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-36" #111 daemon prio=5 os_prio=0 tid=0x00007fb6a003b000 nid=0x937a waiting on condition [0x00007fb681fdc000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000ec71dfa8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86) at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-35" #110 daemon prio=5 os_prio=0 tid=0x00007fb6a0039800 nid=0x9379 waiting on condition [0x00007fb6820dc000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e75d45d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.proxy(Driver.java:288) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e74ce290> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-34" #109 daemon prio=5 os_prio=0 tid=0x00007fb6a0037800 nid=0x9246 waiting on condition [0x00007fb6821dd000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e7310b00> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.proxy(Driver.java:288) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e74cddc0> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-33" #108 daemon prio=5 os_prio=0 tid=0x00007fb6a0035800 nid=0x9245 waiting on condition [0x00007fb6822df000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000ec71dfa8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86) at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-32" #107 daemon prio=5 os_prio=0 tid=0x00007fb6a0034000 nid=0x9244 waiting on condition [0x00007fb6823df000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e6834da8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.proxy(Driver.java:288) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e67281f8> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-31" #106 daemon prio=5 os_prio=0 tid=0x00007fb6a0032000 nid=0x9106 waiting on condition [0x00007fb6824e0000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e758cb58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:176) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e74ce028> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-30" #105 daemon prio=5 os_prio=0 tid=0x00007fb6a0030800 nid=0x9105 waiting on condition [0x00007fb6825e1000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e670f6d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.proxy(Driver.java:288) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e6727f90> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-29" #104 daemon prio=5 os_prio=0 tid=0x00007fb6a002e800 nid=0x8f06 waiting on condition [0x00007fb6826e2000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e5b5b7a8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.proxy(Driver.java:288) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e5cf8e30> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-28" #103 daemon prio=5 os_prio=0 tid=0x00007fb6a002d000 nid=0x8f05 waiting on condition [0x00007fb6827e3000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e67ee488> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:176) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e6727d28> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-27" #102 daemon prio=5 os_prio=0 tid=0x00007fb6a002c000 nid=0x8efe waiting on condition [0x00007fb682ce8000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e5ab34b0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.proxy(Driver.java:288) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e5a65910> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-26" #101 daemon prio=5 os_prio=0 tid=0x00007fb6a002a000 nid=0x8842 waiting on condition [0x00007fb6828e4000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e5a67018> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.proxy(Driver.java:288) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e5a656a8> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-25" #100 daemon prio=5 os_prio=0 tid=0x00007fb6a0028800 nid=0x8841 waiting on condition [0x00007fb6829e5000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e5a3dab8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:176) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e582d760> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-24" #99 daemon prio=5 os_prio=0 tid=0x00007fb6a0026800 nid=0x8840 waiting on condition [0x00007fb682ae6000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e4ef7438> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.proxy(Driver.java:288) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e4def908> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-23" #98 daemon prio=5 os_prio=0 tid=0x00007fb6a0025000 nid=0x8804 waiting on condition [0x00007fb682be7000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e5d0d658> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.proxy(Driver.java:288) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e5cf9098> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-22" #96 daemon prio=5 os_prio=0 tid=0x00007fb6a0023800 nid=0x878f waiting on condition [0x00007fb682de9000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e4dd40e8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.proxy(Driver.java:288) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e4def6a0> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-21" #95 daemon prio=5 os_prio=0 tid=0x00007fb6a0021800 nid=0x878e waiting on condition [0x00007fb682eea000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e43cefb8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.proxy(Driver.java:288) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000e4381480> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) "http-bio-1.2.3.4-51125-exec-20" #94 daemon prio=5 os_prio=0 tid=0x00007fb6a0020000 nid=0x8592 waiting on... [truncated message content] |
From: Poupon E. <EP...@VO...> - 2016-07-12 17:36:39
|
In our logs, we can see the http 302 response : 740 INFO http-nio-10.98.65.31-51125-exec-30 org.esigate.extension.FetchLogging - http://preprod1.tri.vsct.fr - GET /fr/page-editoriale/idvroom-le-covoiturage-au-quotidien?alextest HTTP/1.1 {user-agent: curl/7.43.0,accept: */*,wl-proxy-ssl: true,clientip: 194.3.103.60,X-Forwarded-For: 194.3.103.60, 10.41.5.221, 10.98.64.37,x-forwarded-host: preprod1.tri.vsct.fr, preprod1.tri.vsct.fr,x-forwarded-server: preprod1.tri.vsct.fr, preprod1.tri.vsct.fr,X-Forwarded-Proto: http,X-Esigate-Int-Surrogate-Id: esigate,Surrogate-Capabilities: esigate="Surrogate/1.0 ESI/1.0 ESI-Inline/1.0 X-ESI-Fragment/1.0 X-ESI-Replace/1.0 X-ESI-XSLT/1.0 ESIGATE/4.0",Content-Length: 0,Host: preprod1.tri.vsct.fr,Connection: Keep-Alive,Accept-Encoding: gzip,deflate} -> HTTP/1.1 200 OK (2005 ms) {Date: Tue, 12 Jul 2016 17:10:52 GMT,X-Content-Type-Options: nosniff,Expires: Sun, 19 Nov 1978 05:00:00 GMT,X-Content-Type-Options: nosniff,Content-Language: fr,Content-Type: text/html; charset=utf-8,Cache-Control: max-age=180, public,Transfer-Encoding: chunked,Connection: close,Accept-Ranges: bytes} And then, our already seen UnknownHostException. This is not a DNS server problem, we check this point. On our configuration, we force HTTPS on the Apache front end. Because of what I have read, I want to do a test with an HTTP website. I’ll tell you about this test tomorrow. 2016-07-12 18:37:32,864 ERROR http-nio-10.98.65.31-51125-exec-11 org.esigate.HttpErrorPage - Error retrieving URL java.net.UnknownHostException: preprod1.tri.vsct.fr: unknown error at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) at java.net.InetAddress.getAllByName0(InetAddress.java:1255) at java.net.InetAddress.getAllByName(InetAddress.java:1171) at java.net.InetAddress.getAllByName(InetAddress.java:1105) at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:101) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:188) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at psiprobe.Tomcat70AgentValve.invoke(Tomcat70AgentValve.java:62) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1721) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Emilie De : fx....@gm... [mailto:fx....@gm...] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 17:48 À : Poupon Emilie <EP...@VO...> Cc : Francois-Xavier Bonnet <fra...@ce...>; Auffredou Thomas <TAu...@vo...>; web...@li... Objet : Re: [EsiGate-users] Connection thread leak EsiGate is following automatically redirects when performing an ESI include so this should work unless the response from the server is invalid. There should be more details about the 502 in the logs or in the error page. 2016-07-12 17:30 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: We found out something ! It seems that we implemented a too complex error management with bad redirections : If an error occurs on an ESI inclusion request (ex : "resource not found" on application site), our app returns a 302 to rederect users on a “clean 404 error page” (which is on DRUPAL side). At this stage, EsiGate don’t manage the 302 and responds with a 502 + the thread is blocked. We are going to improve our application and the error management to not respond a 302 to an ESI request. Do you know about EsiGate problems when getting a 302 response in the context of an ESI tag request? Do you have ideas to manage these cases. Thx, Emilie Poupon Adam Responsable Delivery Web Mobile VSC Technologies De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 15:41 À : Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Cc : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak It looks like you might have an issue with your DNS server. Did you keep the full thread dump where you took the abstract in your first mail? |
From: Francois-Xavier B. <fra...@ce...> - 2016-07-12 15:48:21
|
EsiGate is following automatically redirects when performing an ESI include so this should work unless the response from the server is invalid. There should be more details about the 502 in the logs or in the error page. 2016-07-12 17:30 GMT+02:00 Poupon Emilie <EP...@vo...>: > We found out something ! > > > > It seems that we implemented a too complex error management with bad > redirections : > > If an error occurs on an ESI inclusion request (ex : "resource not found" > on application site), our app returns a 302 to rederect users on a “clean > 404 error page” (which is on DRUPAL side). > > At this stage, EsiGate don’t manage the 302 and responds with a 502 + the > thread is blocked. > > > > We are going to improve our application and the error management to not > respond a 302 to an ESI request. > > > > Do you know about EsiGate problems when getting a 302 response in the > context of an ESI tag request? Do you have ideas to manage these cases. > > Thx, > > Emilie Poupon Adam > > Responsable Delivery Web Mobile > > VSC Technologies > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 15:41 > > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > It looks like you might have an issue with your DNS server. Did you keep > the full thread dump where you took the abstract in your first mail? > > > > 2016-07-12 12:23 GMT+02:00 Poupon Emilie <EP...@vo...>: > > > > The complete stack trace for the UnknownHostException > > > > 2016-07-12 12:19:53,161 ERROR http-bio-10.98.64.220-51125-exec-10 > org.esigate.HttpErrorPage - Error retrieving URL > > java.net.UnknownHostException: preprod1.tri.vsct.fr: unknown error > > at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) > > at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) > > at > java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) > > at java.net.InetAddress.getAllByName0(InetAddress.java:1255) > > at java.net.InetAddress.getAllByName(InetAddress.java:1171) > > at java.net.InetAddress.getAllByName(InetAddress.java:1105) > > at > org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) > > at > org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:101) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) > > at > org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) > > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) > > at > org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) > > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) > > at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) > > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) > > at > org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) > > at org.esigate.Driver.render(Driver.java:188) > > at > org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) > > at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) > > at > org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) > > at org.esigate.parser.Parser.parse(Parser.java:76) > > at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) > > at org.esigate.Driver.performRendering(Driver.java:401) > > at org.esigate.Driver.performRendering(Driver.java:360) > > at org.esigate.Driver.proxy(Driver.java:295) > > at org.esigate.DriverFactory.proxy(DriverFactory.java:403) > > at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > > at java.lang.Thread.run(Thread.java:745) > > > > > > activate FetchLogging : Ok, we are doing that right now. > > > > Emilie > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 11:57 > > > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Could you send the complete stack trace for the UnknownHostException? > > It would also be helpful to activate FetchLogging as explained here: > http://www.esigate.org/reference.html#FragmentLogging_and_FetchLogging_extensions > > > > 2016-07-12 11:46 GMT+02:00 Poupon Emilie <EP...@vo...>: > > > > 1/ When falling this morning (with no user), we had no error in our > EsiGate logs. > > What we see now is that the Java Application responds with some 302 to the > EsiGate (bloc inclusion) : we are searching around these responses if they > could explain the instance “death”. > > > > 2/ When falling past night (with some users), we had one error message we > didn’t explain yet : > > org.esigate.HttpErrorPage - Error retrieving URL > > java.net.UnknownHostException: www.transilien.com: unknown error > > at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) > > at > java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) > > at > java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) > > at java.net.InetAddress.getAllByName0(InetAddress.java:1255) > > at java.net.InetAddress.getAllByName(InetAddress.java:1171) > > The EsiGate should not access the www.transilien.com domain as an > external domain, in fact it is the website itself. > > > > > > Emilie Poupon Adam > > Responsable Delivery Web Mobile > > VSC Technologies > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 10:44 > > > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Do you have some errors in the log files of EsiGate? > > > > 2016-07-12 9:33 GMT+02:00 Poupon Emilie <EP...@vo...>: > > Hi, > > > > I did suscribe yesterday (but after sendind my e-mail) ! > > > > What is the value of {{socketTimeout}} ? > > socketTimeout = 45000 > > > > I can see in your configuration that you let the default value for > maxConnectionsPerHost which is 20. > > Yes, we saw that point and agreed to put an upper value (70) since the > number of connections is limited at entry. > > We are going to test this today. > > > > When the problem occurs, do you have a lot of users on the application? > How many hits/s? > > First time we saw the problem we had an several users connected, but > yesterday problem occurred on a server not used at all (only life check was > running). > > We didn't find out how make the problem occurs, we tried with several > stress tests and not succeed. > > > > Does the problem fix itself when the load decreases or not? > > NO ! We had to reboot the servers, even after several hours, number of > open thread didn’t decrease. > > > > Is EsiGate used also for static files (images, js, css) from the drupal > backend? If so why did you disable the cache. > > EsiGate mix transactional content from a Java application and editorial > content from a drupal backend. > > We are using a VARNISH cache between the EsiGate and the Drupal backend. > > > > Find here the JVM / Tomcat parameters set on our ESIGate server : > > connectionTimeout = 20000 > > maxThreads = 70 > > acceptCount = 50 > > compression no value > > compressionMinSize no value > > compressableMimeType no value > > JDK = 1.8u45 64bits > > Tomcat = 7.0.53 > > JVM params = Xms512m Xmx512m XX:+UseConcMarkSweepGC > > > > Thx, > > Emilie Poupon Adam > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 08:36 > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > > > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Hi, > > > > Please subscribe to the mailing list for faster answers. > > > > What is the value of {{socketTimeout}} ? > > I can see in your configuration that you let the default value for > maxConnectionsPerHost which is 20. When the problem occurs, do you have a > lot of users on the application? How many hits/s? Does the problem fix > itself when the load decreases or not? > > Is EsiGate used also for static files (images, js, css) from the drupal > backend? If so why did you disable the cache. > > > > 2016-07-11 20:02 GMT+02:00 Poupon Emilie <EP...@vo...>: > > Hi, > > > > I’m working with Thomas, he left few minutes ago (he is coming back on > wednesday). > > We still have the issue and no idea about the causes. > > > > ESI Gate 5.1 + esigate.properties > > Thx, > > Emilie Poupon Adam > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* lundi 11 juillet 2016 18:22 > *À :* Auffredou Thomas <TAu...@vo...> > *Cc :* web...@li...; Poupon Emilie < > EP...@VO...> > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Hi, > > > > In order to help me understand your issue, could you give more > information: Which version of EsiGate are you using? Could you share your > esigate.properties configuration file? > > > > Please subscribe to the mailing so that your future messages will be > forwarded directly without requiring an administrator to validate them. > > > > 2016-07-11 17:36 GMT+02:00 Auffredou Thomas < > TAu...@vo...>: > > Hi, > > > > I’m experimenting issues with the ESI clientPool. > > At some point (I can’t figure out what are the causes), threads start to > grow until reaching the thread pool saturation. > > The leaks happens linearly when requesting a healthcheck url, and any > other request accelerates the behavior. > > > > The following threaddump extract shows it hangs while acquiring the http > client. > > > > "http-bio-10.98.48.138-51125-exec-1" #40 daemon prio=5 os_prio=0 > tid=0x00007fb760001800 nid=0x6ff4 waiting on condition [0x00007fb7dc507000] > > java.lang.Thread.State: WAITING (parking) > > at sun.misc.Unsafe.park(Native Method) > > - parking to wait for <0x00000000eb970880> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > > at > java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) > > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) > > at > org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) > > at > org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) > > at > org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) > > at > org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) > > at > org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) > > at > org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) > > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) > > at > org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) > > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) > > at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) > > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) > > at > org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) > > at org.esigate.Driver.render(Driver.java:188) > > at > org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) > > at > org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) > > at > org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) > > at org.esigate.parser.Parser.parse(Parser.java:76) > > at > org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) > > at org.esigate.Driver.performRendering(Driver.java:401) > > at org.esigate.Driver.performRendering(Driver.java:360) > > at org.esigate.Driver.proxy(Driver.java:295) > > at org.esigate.DriverFactory.proxy(DriverFactory.java:403) > > at > org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) > > - locked <0x00000000ec8c1e70> (a > org.apache.tomcat.util.net.SocketWrapper) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > > at java.lang.Thread.run(Thread.java:745) > > > > Did someone already encountered this issue ? > > > > Thanks, > > Thomas > > > > ------------------------------------------------------------------------------ > Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San > Francisco, CA to explore cutting-edge tech and listen to tech luminaries > present their vision of the future. This family event has something for > everyone, including kids. Get more information and register today. > http://sdm.link/attshape > _______________________________________________ > Webassembletool-users mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webassembletool-users > > > > > > > > > > > |
From: Poupon E. <EP...@VO...> - 2016-07-12 15:31:08
|
We found out something ! It seems that we implemented a too complex error management with bad redirections : If an error occurs on an ESI inclusion request (ex : "resource not found" on application site), our app returns a 302 to rederect users on a “clean 404 error page” (which is on DRUPAL side). At this stage, EsiGate don’t manage the 302 and responds with a 502 + the thread is blocked. We are going to improve our application and the error management to not respond a 302 to an ESI request. Do you know about EsiGate problems when getting a 302 response in the context of an ESI tag request? Do you have ideas to manage these cases. Thx, Emilie Poupon Adam Responsable Delivery Web Mobile VSC Technologies De : fx....@gm... [mailto:fx....@gm...] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 15:41 À : Poupon Emilie <EP...@VO...> Cc : Francois-Xavier Bonnet <fra...@ce...>; Auffredou Thomas <TAu...@vo...>; web...@li... Objet : Re: [EsiGate-users] Connection thread leak It looks like you might have an issue with your DNS server. Did you keep the full thread dump where you took the abstract in your first mail? 2016-07-12 12:23 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: The complete stack trace for the UnknownHostException 2016-07-12 12:19:53,161 ERROR http-bio-10.98.64.220-51125-exec-10 org.esigate.HttpErrorPage - Error retrieving URL java.net.UnknownHostException: preprod1.tri.vsct.fr<http://preprod1.tri.vsct.fr>: unknown error at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) at java.net.InetAddress.getAllByName0(InetAddress.java:1255) at java.net.InetAddress.getAllByName(InetAddress.java:1171) at java.net.InetAddress.getAllByName(InetAddress.java:1105) at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:101) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:188) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) activate FetchLogging : Ok, we are doing that right now. Emilie De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 11:57 À : Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Cc : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak Could you send the complete stack trace for the UnknownHostException? It would also be helpful to activate FetchLogging as explained here: http://www.esigate.org/reference.html#FragmentLogging_and_FetchLogging_extensions 2016-07-12 11:46 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: 1/ When falling this morning (with no user), we had no error in our EsiGate logs. What we see now is that the Java Application responds with some 302 to the EsiGate (bloc inclusion) : we are searching around these responses if they could explain the instance “death”. 2/ When falling past night (with some users), we had one error message we didn’t explain yet : org.esigate.HttpErrorPage - Error retrieving URL java.net.UnknownHostException: www.transilien.com<http://www.transilien.com>: unknown error at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) at java.net.InetAddress.getAllByName0(InetAddress.java:1255) at java.net.InetAddress.getAllByName(InetAddress.java:1171) The EsiGate should not access the www.transilien.com<http://www.transilien.com> domain as an external domain, in fact it is the website itself. Emilie Poupon Adam Responsable Delivery Web Mobile VSC Technologies De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 10:44 À : Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Cc : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak Do you have some errors in the log files of EsiGate? 2016-07-12 9:33 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: Hi, I did suscribe yesterday (but after sendind my e-mail) ! What is the value of {{socketTimeout}} ? socketTimeout = 45000 I can see in your configuration that you let the default value for maxConnectionsPerHost which is 20. Yes, we saw that point and agreed to put an upper value (70) since the number of connections is limited at entry. We are going to test this today. When the problem occurs, do you have a lot of users on the application? How many hits/s? First time we saw the problem we had an several users connected, but yesterday problem occurred on a server not used at all (only life check was running). We didn't find out how make the problem occurs, we tried with several stress tests and not succeed. Does the problem fix itself when the load decreases or not? NO ! We had to reboot the servers, even after several hours, number of open thread didn’t decrease. Is EsiGate used also for static files (images, js, css) from the drupal backend? If so why did you disable the cache. EsiGate mix transactional content from a Java application and editorial content from a drupal backend. We are using a VARNISH cache between the EsiGate and the Drupal backend. Find here the JVM / Tomcat parameters set on our ESIGate server : connectionTimeout = 20000 maxThreads = 70 acceptCount = 50 compression no value compressionMinSize no value compressableMimeType no value JDK = 1.8u45 64bits Tomcat = 7.0.53 JVM params = Xms512m Xmx512m XX:+UseConcMarkSweepGC Thx, Emilie Poupon Adam De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 08:36 À : Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Cc : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak Hi, Please subscribe to the mailing list for faster answers. What is the value of {{socketTimeout}} ? I can see in your configuration that you let the default value for maxConnectionsPerHost which is 20. When the problem occurs, do you have a lot of users on the application? How many hits/s? Does the problem fix itself when the load decreases or not? Is EsiGate used also for static files (images, js, css) from the drupal backend? If so why did you disable the cache. 2016-07-11 20:02 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: Hi, I’m working with Thomas, he left few minutes ago (he is coming back on wednesday). We still have the issue and no idea about the causes. ESI Gate 5.1 + esigate.properties Thx, Emilie Poupon Adam De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : lundi 11 juillet 2016 18:22 À : Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>> Cc : web...@li...<mailto:web...@li...>; Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Objet : Re: [EsiGate-users] Connection thread leak Hi, In order to help me understand your issue, could you give more information: Which version of EsiGate are you using? Could you share your esigate.properties configuration file? Please subscribe to the mailing so that your future messages will be forwarded directly without requiring an administrator to validate them. 2016-07-11 17:36 GMT+02:00 Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>: Hi, I’m experimenting issues with the ESI clientPool. At some point (I can’t figure out what are the causes), threads start to grow until reaching the thread pool saturation. The leaks happens linearly when requesting a healthcheck url, and any other request accelerates the behavior. The following threaddump extract shows it hangs while acquiring the http client. "http-bio-10.98.48.138-51125-exec-1" #40 daemon prio=5 os_prio=0 tid=0x00007fb760001800 nid=0x6ff4 waiting on condition [0x00007fb7dc507000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000eb970880> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:188) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000ec8c1e70> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Did someone already encountered this issue ? Thanks, Thomas ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Webassembletool-users mailing list Web...@li...<mailto:Web...@li...> https://lists.sourceforge.net/lists/listinfo/webassembletool-users |
From: Francois-Xavier B. <fra...@ce...> - 2016-07-12 13:41:21
|
It looks like you might have an issue with your DNS server. Did you keep the full thread dump where you took the abstract in your first mail? 2016-07-12 12:23 GMT+02:00 Poupon Emilie <EP...@vo...>: > > > The complete stack trace for the UnknownHostException > > > > 2016-07-12 12:19:53,161 ERROR http-bio-10.98.64.220-51125-exec-10 > org.esigate.HttpErrorPage - Error retrieving URL > > java.net.UnknownHostException: preprod1.tri.vsct.fr: unknown error > > at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) > > at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) > > at > java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) > > at java.net.InetAddress.getAllByName0(InetAddress.java:1255) > > at java.net.InetAddress.getAllByName(InetAddress.java:1171) > > at java.net.InetAddress.getAllByName(InetAddress.java:1105) > > at > org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) > > at > org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:101) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) > > at > org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) > > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) > > at > org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) > > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) > > at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) > > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) > > at > org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) > > at org.esigate.Driver.render(Driver.java:188) > > at > org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) > > at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) > > at > org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) > > at org.esigate.parser.Parser.parse(Parser.java:76) > > at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) > > at org.esigate.Driver.performRendering(Driver.java:401) > > at org.esigate.Driver.performRendering(Driver.java:360) > > at org.esigate.Driver.proxy(Driver.java:295) > > at org.esigate.DriverFactory.proxy(DriverFactory.java:403) > > at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > > at java.lang.Thread.run(Thread.java:745) > > > > > > activate FetchLogging : Ok, we are doing that right now. > > > > Emilie > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 11:57 > > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Could you send the complete stack trace for the UnknownHostException? > > It would also be helpful to activate FetchLogging as explained here: > http://www.esigate.org/reference.html#FragmentLogging_and_FetchLogging_extensions > > > > 2016-07-12 11:46 GMT+02:00 Poupon Emilie <EP...@vo...>: > > > > 1/ When falling this morning (with no user), we had no error in our > EsiGate logs. > > What we see now is that the Java Application responds with some 302 to the > EsiGate (bloc inclusion) : we are searching around these responses if they > could explain the instance “death”. > > > > 2/ When falling past night (with some users), we had one error message we > didn’t explain yet : > > org.esigate.HttpErrorPage - Error retrieving URL > > java.net.UnknownHostException: www.transilien.com: unknown error > > at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) > > at > java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) > > at > java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) > > at java.net.InetAddress.getAllByName0(InetAddress.java:1255) > > at java.net.InetAddress.getAllByName(InetAddress.java:1171) > > The EsiGate should not access the www.transilien.com domain as an > external domain, in fact it is the website itself. > > > > > > Emilie Poupon Adam > > Responsable Delivery Web Mobile > > VSC Technologies > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 10:44 > > > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Do you have some errors in the log files of EsiGate? > > > > 2016-07-12 9:33 GMT+02:00 Poupon Emilie <EP...@vo...>: > > Hi, > > > > I did suscribe yesterday (but after sendind my e-mail) ! > > > > What is the value of {{socketTimeout}} ? > > socketTimeout = 45000 > > > > I can see in your configuration that you let the default value for > maxConnectionsPerHost which is 20. > > Yes, we saw that point and agreed to put an upper value (70) since the > number of connections is limited at entry. > > We are going to test this today. > > > > When the problem occurs, do you have a lot of users on the application? > How many hits/s? > > First time we saw the problem we had an several users connected, but > yesterday problem occurred on a server not used at all (only life check was > running). > > We didn't find out how make the problem occurs, we tried with several > stress tests and not succeed. > > > > Does the problem fix itself when the load decreases or not? > > NO ! We had to reboot the servers, even after several hours, number of > open thread didn’t decrease. > > > > Is EsiGate used also for static files (images, js, css) from the drupal > backend? If so why did you disable the cache. > > EsiGate mix transactional content from a Java application and editorial > content from a drupal backend. > > We are using a VARNISH cache between the EsiGate and the Drupal backend. > > > > Find here the JVM / Tomcat parameters set on our ESIGate server : > > connectionTimeout = 20000 > > maxThreads = 70 > > acceptCount = 50 > > compression no value > > compressionMinSize no value > > compressableMimeType no value > > JDK = 1.8u45 64bits > > Tomcat = 7.0.53 > > JVM params = Xms512m Xmx512m XX:+UseConcMarkSweepGC > > > > Thx, > > Emilie Poupon Adam > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 08:36 > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > > > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Hi, > > > > Please subscribe to the mailing list for faster answers. > > > > What is the value of {{socketTimeout}} ? > > I can see in your configuration that you let the default value for > maxConnectionsPerHost which is 20. When the problem occurs, do you have a > lot of users on the application? How many hits/s? Does the problem fix > itself when the load decreases or not? > > Is EsiGate used also for static files (images, js, css) from the drupal > backend? If so why did you disable the cache. > > > > 2016-07-11 20:02 GMT+02:00 Poupon Emilie <EP...@vo...>: > > Hi, > > > > I’m working with Thomas, he left few minutes ago (he is coming back on > wednesday). > > We still have the issue and no idea about the causes. > > > > ESI Gate 5.1 + esigate.properties > > Thx, > > Emilie Poupon Adam > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* lundi 11 juillet 2016 18:22 > *À :* Auffredou Thomas <TAu...@vo...> > *Cc :* web...@li...; Poupon Emilie < > EP...@VO...> > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Hi, > > > > In order to help me understand your issue, could you give more > information: Which version of EsiGate are you using? Could you share your > esigate.properties configuration file? > > > > Please subscribe to the mailing so that your future messages will be > forwarded directly without requiring an administrator to validate them. > > > > 2016-07-11 17:36 GMT+02:00 Auffredou Thomas < > TAu...@vo...>: > > Hi, > > > > I’m experimenting issues with the ESI clientPool. > > At some point (I can’t figure out what are the causes), threads start to > grow until reaching the thread pool saturation. > > The leaks happens linearly when requesting a healthcheck url, and any > other request accelerates the behavior. > > > > The following threaddump extract shows it hangs while acquiring the http > client. > > > > "http-bio-10.98.48.138-51125-exec-1" #40 daemon prio=5 os_prio=0 > tid=0x00007fb760001800 nid=0x6ff4 waiting on condition [0x00007fb7dc507000] > > java.lang.Thread.State: WAITING (parking) > > at sun.misc.Unsafe.park(Native Method) > > - parking to wait for <0x00000000eb970880> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > > at > java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) > > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) > > at > org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) > > at > org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) > > at > org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) > > at > org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) > > at > org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) > > at > org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) > > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) > > at > org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) > > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) > > at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) > > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) > > at > org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) > > at org.esigate.Driver.render(Driver.java:188) > > at > org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) > > at > org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) > > at > org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) > > at org.esigate.parser.Parser.parse(Parser.java:76) > > at > org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) > > at org.esigate.Driver.performRendering(Driver.java:401) > > at org.esigate.Driver.performRendering(Driver.java:360) > > at org.esigate.Driver.proxy(Driver.java:295) > > at org.esigate.DriverFactory.proxy(DriverFactory.java:403) > > at > org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) > > - locked <0x00000000ec8c1e70> (a > org.apache.tomcat.util.net.SocketWrapper) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > > at java.lang.Thread.run(Thread.java:745) > > > > Did someone already encountered this issue ? > > > > Thanks, > > Thomas > > > > ------------------------------------------------------------------------------ > Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San > Francisco, CA to explore cutting-edge tech and listen to tech luminaries > present their vision of the future. This family event has something for > everyone, including kids. Get more information and register today. > http://sdm.link/attshape > _______________________________________________ > Webassembletool-users mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webassembletool-users > > > > > > > > > |
From: Poupon E. <EP...@VO...> - 2016-07-12 10:24:03
|
The complete stack trace for the UnknownHostException 2016-07-12 12:19:53,161 ERROR http-bio-10.98.64.220-51125-exec-10 org.esigate.HttpErrorPage - Error retrieving URL java.net.UnknownHostException: preprod1.tri.vsct.fr: unknown error at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) at java.net.InetAddress.getAllByName0(InetAddress.java:1255) at java.net.InetAddress.getAllByName(InetAddress.java:1171) at java.net.InetAddress.getAllByName(InetAddress.java:1105) at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44) at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:101) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:188) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) activate FetchLogging : Ok, we are doing that right now. Emilie De : fx....@gm... [mailto:fx....@gm...] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 11:57 À : Poupon Emilie <EP...@VO...> Cc : Francois-Xavier Bonnet <fra...@ce...>; Auffredou Thomas <TAu...@vo...>; web...@li... Objet : Re: [EsiGate-users] Connection thread leak Could you send the complete stack trace for the UnknownHostException? It would also be helpful to activate FetchLogging as explained here: http://www.esigate.org/reference.html#FragmentLogging_and_FetchLogging_extensions 2016-07-12 11:46 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: 1/ When falling this morning (with no user), we had no error in our EsiGate logs. What we see now is that the Java Application responds with some 302 to the EsiGate (bloc inclusion) : we are searching around these responses if they could explain the instance “death”. 2/ When falling past night (with some users), we had one error message we didn’t explain yet : org.esigate.HttpErrorPage - Error retrieving URL java.net.UnknownHostException: www.transilien.com<http://www.transilien.com>: unknown error at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) at java.net.InetAddress.getAllByName0(InetAddress.java:1255) at java.net.InetAddress.getAllByName(InetAddress.java:1171) The EsiGate should not access the www.transilien.com<http://www.transilien.com> domain as an external domain, in fact it is the website itself. Emilie Poupon Adam Responsable Delivery Web Mobile VSC Technologies De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 10:44 À : Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Cc : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak Do you have some errors in the log files of EsiGate? 2016-07-12 9:33 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: Hi, I did suscribe yesterday (but after sendind my e-mail) ! What is the value of {{socketTimeout}} ? socketTimeout = 45000 I can see in your configuration that you let the default value for maxConnectionsPerHost which is 20. Yes, we saw that point and agreed to put an upper value (70) since the number of connections is limited at entry. We are going to test this today. When the problem occurs, do you have a lot of users on the application? How many hits/s? First time we saw the problem we had an several users connected, but yesterday problem occurred on a server not used at all (only life check was running). We didn't find out how make the problem occurs, we tried with several stress tests and not succeed. Does the problem fix itself when the load decreases or not? NO ! We had to reboot the servers, even after several hours, number of open thread didn’t decrease. Is EsiGate used also for static files (images, js, css) from the drupal backend? If so why did you disable the cache. EsiGate mix transactional content from a Java application and editorial content from a drupal backend. We are using a VARNISH cache between the EsiGate and the Drupal backend. Find here the JVM / Tomcat parameters set on our ESIGate server : connectionTimeout = 20000 maxThreads = 70 acceptCount = 50 compression no value compressionMinSize no value compressableMimeType no value JDK = 1.8u45 64bits Tomcat = 7.0.53 JVM params = Xms512m Xmx512m XX:+UseConcMarkSweepGC Thx, Emilie Poupon Adam De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 08:36 À : Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Cc : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak Hi, Please subscribe to the mailing list for faster answers. What is the value of {{socketTimeout}} ? I can see in your configuration that you let the default value for maxConnectionsPerHost which is 20. When the problem occurs, do you have a lot of users on the application? How many hits/s? Does the problem fix itself when the load decreases or not? Is EsiGate used also for static files (images, js, css) from the drupal backend? If so why did you disable the cache. 2016-07-11 20:02 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: Hi, I’m working with Thomas, he left few minutes ago (he is coming back on wednesday). We still have the issue and no idea about the causes. ESI Gate 5.1 + esigate.properties Thx, Emilie Poupon Adam De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : lundi 11 juillet 2016 18:22 À : Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>> Cc : web...@li...<mailto:web...@li...>; Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Objet : Re: [EsiGate-users] Connection thread leak Hi, In order to help me understand your issue, could you give more information: Which version of EsiGate are you using? Could you share your esigate.properties configuration file? Please subscribe to the mailing so that your future messages will be forwarded directly without requiring an administrator to validate them. 2016-07-11 17:36 GMT+02:00 Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>: Hi, I’m experimenting issues with the ESI clientPool. At some point (I can’t figure out what are the causes), threads start to grow until reaching the thread pool saturation. The leaks happens linearly when requesting a healthcheck url, and any other request accelerates the behavior. The following threaddump extract shows it hangs while acquiring the http client. "http-bio-10.98.48.138-51125-exec-1" #40 daemon prio=5 os_prio=0 tid=0x00007fb760001800 nid=0x6ff4 waiting on condition [0x00007fb7dc507000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000eb970880> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:188) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000ec8c1e70> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Did someone already encountered this issue ? Thanks, Thomas ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Webassembletool-users mailing list Web...@li...<mailto:Web...@li...> https://lists.sourceforge.net/lists/listinfo/webassembletool-users |
From: Francois-Xavier B. <fra...@ce...> - 2016-07-12 09:57:12
|
Could you send the complete stack trace for the UnknownHostException? It would also be helpful to activate FetchLogging as explained here: http://www.esigate.org/reference.html#FragmentLogging_and_FetchLogging_extensions 2016-07-12 11:46 GMT+02:00 Poupon Emilie <EP...@vo...>: > > > 1/ When falling this morning (with no user), we had no error in our > EsiGate logs. > > What we see now is that the Java Application responds with some 302 to the > EsiGate (bloc inclusion) : we are searching around these responses if they > could explain the instance “death”. > > > > 2/ When falling past night (with some users), we had one error message we > didn’t explain yet : > > org.esigate.HttpErrorPage - Error retrieving URL > > java.net.UnknownHostException: www.transilien.com: unknown error > > at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) > > at > java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) > > at > java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) > > at java.net.InetAddress.getAllByName0(InetAddress.java:1255) > > at java.net.InetAddress.getAllByName(InetAddress.java:1171) > > The EsiGate should not access the www.transilien.com domain as an > external domain, in fact it is the website itself. > > > > > > Emilie Poupon Adam > > Responsable Delivery Web Mobile > > VSC Technologies > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 10:44 > > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Do you have some errors in the log files of EsiGate? > > > > 2016-07-12 9:33 GMT+02:00 Poupon Emilie <EP...@vo...>: > > Hi, > > > > I did suscribe yesterday (but after sendind my e-mail) ! > > > > What is the value of {{socketTimeout}} ? > > socketTimeout = 45000 > > > > I can see in your configuration that you let the default value for > maxConnectionsPerHost which is 20. > > Yes, we saw that point and agreed to put an upper value (70) since the > number of connections is limited at entry. > > We are going to test this today. > > > > When the problem occurs, do you have a lot of users on the application? > How many hits/s? > > First time we saw the problem we had an several users connected, but > yesterday problem occurred on a server not used at all (only life check was > running). > > We didn't find out how make the problem occurs, we tried with several > stress tests and not succeed. > > > > Does the problem fix itself when the load decreases or not? > > NO ! We had to reboot the servers, even after several hours, number of > open thread didn’t decrease. > > > > Is EsiGate used also for static files (images, js, css) from the drupal > backend? If so why did you disable the cache. > > EsiGate mix transactional content from a Java application and editorial > content from a drupal backend. > > We are using a VARNISH cache between the EsiGate and the Drupal backend. > > > > Find here the JVM / Tomcat parameters set on our ESIGate server : > > connectionTimeout = 20000 > > maxThreads = 70 > > acceptCount = 50 > > compression no value > > compressionMinSize no value > > compressableMimeType no value > > JDK = 1.8u45 64bits > > Tomcat = 7.0.53 > > JVM params = Xms512m Xmx512m XX:+UseConcMarkSweepGC > > > > Thx, > > Emilie Poupon Adam > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 08:36 > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > > > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Hi, > > > > Please subscribe to the mailing list for faster answers. > > > > What is the value of {{socketTimeout}} ? > > I can see in your configuration that you let the default value for > maxConnectionsPerHost which is 20. When the problem occurs, do you have a > lot of users on the application? How many hits/s? Does the problem fix > itself when the load decreases or not? > > Is EsiGate used also for static files (images, js, css) from the drupal > backend? If so why did you disable the cache. > > > > 2016-07-11 20:02 GMT+02:00 Poupon Emilie <EP...@vo...>: > > Hi, > > > > I’m working with Thomas, he left few minutes ago (he is coming back on > wednesday). > > We still have the issue and no idea about the causes. > > > > ESI Gate 5.1 + esigate.properties > > Thx, > > Emilie Poupon Adam > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* lundi 11 juillet 2016 18:22 > *À :* Auffredou Thomas <TAu...@vo...> > *Cc :* web...@li...; Poupon Emilie < > EP...@VO...> > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Hi, > > > > In order to help me understand your issue, could you give more > information: Which version of EsiGate are you using? Could you share your > esigate.properties configuration file? > > > > Please subscribe to the mailing so that your future messages will be > forwarded directly without requiring an administrator to validate them. > > > > 2016-07-11 17:36 GMT+02:00 Auffredou Thomas < > TAu...@vo...>: > > Hi, > > > > I’m experimenting issues with the ESI clientPool. > > At some point (I can’t figure out what are the causes), threads start to > grow until reaching the thread pool saturation. > > The leaks happens linearly when requesting a healthcheck url, and any > other request accelerates the behavior. > > > > The following threaddump extract shows it hangs while acquiring the http > client. > > > > "http-bio-10.98.48.138-51125-exec-1" #40 daemon prio=5 os_prio=0 > tid=0x00007fb760001800 nid=0x6ff4 waiting on condition [0x00007fb7dc507000] > > java.lang.Thread.State: WAITING (parking) > > at sun.misc.Unsafe.park(Native Method) > > - parking to wait for <0x00000000eb970880> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > > at > java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) > > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) > > at > org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) > > at > org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) > > at > org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) > > at > org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) > > at > org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) > > at > org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) > > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) > > at > org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) > > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) > > at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) > > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) > > at > org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) > > at org.esigate.Driver.render(Driver.java:188) > > at > org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) > > at > org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) > > at > org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) > > at org.esigate.parser.Parser.parse(Parser.java:76) > > at > org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) > > at org.esigate.Driver.performRendering(Driver.java:401) > > at org.esigate.Driver.performRendering(Driver.java:360) > > at org.esigate.Driver.proxy(Driver.java:295) > > at org.esigate.DriverFactory.proxy(DriverFactory.java:403) > > at > org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) > > - locked <0x00000000ec8c1e70> (a > org.apache.tomcat.util.net.SocketWrapper) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > > at java.lang.Thread.run(Thread.java:745) > > > > Did someone already encountered this issue ? > > > > Thanks, > > Thomas > > > > ------------------------------------------------------------------------------ > Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San > Francisco, CA to explore cutting-edge tech and listen to tech luminaries > present their vision of the future. This family event has something for > everyone, including kids. Get more information and register today. > http://sdm.link/attshape > _______________________________________________ > Webassembletool-users mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webassembletool-users > > > > > > > |
From: Poupon E. <EP...@VO...> - 2016-07-12 09:46:16
|
1/ When falling this morning (with no user), we had no error in our EsiGate logs. What we see now is that the Java Application responds with some 302 to the EsiGate (bloc inclusion) : we are searching around these responses if they could explain the instance “death”. 2/ When falling past night (with some users), we had one error message we didn’t explain yet : org.esigate.HttpErrorPage - Error retrieving URL java.net.UnknownHostException: www.transilien.com<http://www.transilien.com>: unknown error at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:907) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1302) at java.net.InetAddress.getAllByName0(InetAddress.java:1255) at java.net.InetAddress.getAllByName(InetAddress.java:1171) The EsiGate should not access the www.transilien.com<http://www.transilien.com> domain as an external domain, in fact it is the website itself. Emilie Poupon Adam Responsable Delivery Web Mobile VSC Technologies De : fx....@gm... [mailto:fx....@gm...] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 10:44 À : Poupon Emilie <EP...@VO...> Cc : Francois-Xavier Bonnet <fra...@ce...>; Auffredou Thomas <TAu...@vo...>; web...@li... Objet : Re: [EsiGate-users] Connection thread leak Do you have some errors in the log files of EsiGate? 2016-07-12 9:33 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: Hi, I did suscribe yesterday (but after sendind my e-mail) ! What is the value of {{socketTimeout}} ? socketTimeout = 45000 I can see in your configuration that you let the default value for maxConnectionsPerHost which is 20. Yes, we saw that point and agreed to put an upper value (70) since the number of connections is limited at entry. We are going to test this today. When the problem occurs, do you have a lot of users on the application? How many hits/s? First time we saw the problem we had an several users connected, but yesterday problem occurred on a server not used at all (only life check was running). We didn't find out how make the problem occurs, we tried with several stress tests and not succeed. Does the problem fix itself when the load decreases or not? NO ! We had to reboot the servers, even after several hours, number of open thread didn’t decrease. Is EsiGate used also for static files (images, js, css) from the drupal backend? If so why did you disable the cache. EsiGate mix transactional content from a Java application and editorial content from a drupal backend. We are using a VARNISH cache between the EsiGate and the Drupal backend. Find here the JVM / Tomcat parameters set on our ESIGate server : connectionTimeout = 20000 maxThreads = 70 acceptCount = 50 compression no value compressionMinSize no value compressableMimeType no value JDK = 1.8u45 64bits Tomcat = 7.0.53 JVM params = Xms512m Xmx512m XX:+UseConcMarkSweepGC Thx, Emilie Poupon Adam De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 08:36 À : Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Cc : Francois-Xavier Bonnet <fra...@ce...<mailto:fra...@ce...>>; Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>; web...@li...<mailto:web...@li...> Objet : Re: [EsiGate-users] Connection thread leak Hi, Please subscribe to the mailing list for faster answers. What is the value of {{socketTimeout}} ? I can see in your configuration that you let the default value for maxConnectionsPerHost which is 20. When the problem occurs, do you have a lot of users on the application? How many hits/s? Does the problem fix itself when the load decreases or not? Is EsiGate used also for static files (images, js, css) from the drupal backend? If so why did you disable the cache. 2016-07-11 20:02 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: Hi, I’m working with Thomas, he left few minutes ago (he is coming back on wednesday). We still have the issue and no idea about the causes. ESI Gate 5.1 + esigate.properties Thx, Emilie Poupon Adam De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : lundi 11 juillet 2016 18:22 À : Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>> Cc : web...@li...<mailto:web...@li...>; Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Objet : Re: [EsiGate-users] Connection thread leak Hi, In order to help me understand your issue, could you give more information: Which version of EsiGate are you using? Could you share your esigate.properties configuration file? Please subscribe to the mailing so that your future messages will be forwarded directly without requiring an administrator to validate them. 2016-07-11 17:36 GMT+02:00 Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>: Hi, I’m experimenting issues with the ESI clientPool. At some point (I can’t figure out what are the causes), threads start to grow until reaching the thread pool saturation. The leaks happens linearly when requesting a healthcheck url, and any other request accelerates the behavior. The following threaddump extract shows it hangs while acquiring the http client. "http-bio-10.98.48.138-51125-exec-1" #40 daemon prio=5 os_prio=0 tid=0x00007fb760001800 nid=0x6ff4 waiting on condition [0x00007fb7dc507000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000eb970880> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:188) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000ec8c1e70> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Did someone already encountered this issue ? Thanks, Thomas ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Webassembletool-users mailing list Web...@li...<mailto:Web...@li...> https://lists.sourceforge.net/lists/listinfo/webassembletool-users |
From: Francois-Xavier B. <fra...@ce...> - 2016-07-12 08:44:06
|
Do you have some errors in the log files of EsiGate? 2016-07-12 9:33 GMT+02:00 Poupon Emilie <EP...@vo...>: > Hi, > > > > I did suscribe yesterday (but after sendind my e-mail) ! > > > > What is the value of {{socketTimeout}} ? > > socketTimeout = 45000 > > > > I can see in your configuration that you let the default value for > maxConnectionsPerHost which is 20. > > Yes, we saw that point and agreed to put an upper value (70) since the > number of connections is limited at entry. > > We are going to test this today. > > > > When the problem occurs, do you have a lot of users on the application? > How many hits/s? > > First time we saw the problem we had an several users connected, but > yesterday problem occurred on a server not used at all (only life check was > running). > > We didn't find out how make the problem occurs, we tried with several > stress tests and not succeed. > > > > Does the problem fix itself when the load decreases or not? > > NO ! We had to reboot the servers, even after several hours, number of > open thread didn’t decrease. > > > > Is EsiGate used also for static files (images, js, css) from the drupal > backend? If so why did you disable the cache. > > EsiGate mix transactional content from a Java application and editorial > content from a drupal backend. > > We are using a VARNISH cache between the EsiGate and the Drupal backend. > > > > Find here the JVM / Tomcat parameters set on our ESIGate server : > > connectionTimeout = 20000 > > maxThreads = 70 > > acceptCount = 50 > > compression no value > > compressionMinSize no value > > compressableMimeType no value > > JDK = 1.8u45 64bits > > Tomcat = 7.0.53 > > JVM params = Xms512m Xmx512m XX:+UseConcMarkSweepGC > > > > Thx, > > Emilie Poupon Adam > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* mardi 12 juillet 2016 08:36 > *À :* Poupon Emilie <EP...@VO...> > *Cc :* Francois-Xavier Bonnet <fra...@ce...>; > Auffredou Thomas <TAu...@vo...>; > web...@li... > > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Hi, > > > > Please subscribe to the mailing list for faster answers. > > > > What is the value of {{socketTimeout}} ? > > I can see in your configuration that you let the default value for > maxConnectionsPerHost which is 20. When the problem occurs, do you have a > lot of users on the application? How many hits/s? Does the problem fix > itself when the load decreases or not? > > Is EsiGate used also for static files (images, js, css) from the drupal > backend? If so why did you disable the cache. > > > > 2016-07-11 20:02 GMT+02:00 Poupon Emilie <EP...@vo...>: > > Hi, > > > > I’m working with Thomas, he left few minutes ago (he is coming back on > wednesday). > > We still have the issue and no idea about the causes. > > > > ESI Gate 5.1 + esigate.properties > > Thx, > > Emilie Poupon Adam > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* lundi 11 juillet 2016 18:22 > *À :* Auffredou Thomas <TAu...@vo...> > *Cc :* web...@li...; Poupon Emilie < > EP...@VO...> > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Hi, > > > > In order to help me understand your issue, could you give more > information: Which version of EsiGate are you using? Could you share your > esigate.properties configuration file? > > > > Please subscribe to the mailing so that your future messages will be > forwarded directly without requiring an administrator to validate them. > > > > 2016-07-11 17:36 GMT+02:00 Auffredou Thomas < > TAu...@vo...>: > > Hi, > > > > I’m experimenting issues with the ESI clientPool. > > At some point (I can’t figure out what are the causes), threads start to > grow until reaching the thread pool saturation. > > The leaks happens linearly when requesting a healthcheck url, and any > other request accelerates the behavior. > > > > The following threaddump extract shows it hangs while acquiring the http > client. > > > > "http-bio-10.98.48.138-51125-exec-1" #40 daemon prio=5 os_prio=0 > tid=0x00007fb760001800 nid=0x6ff4 waiting on condition [0x00007fb7dc507000] > > java.lang.Thread.State: WAITING (parking) > > at sun.misc.Unsafe.park(Native Method) > > - parking to wait for <0x00000000eb970880> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > > at > java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) > > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) > > at > org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) > > at > org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) > > at > org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) > > at > org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) > > at > org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) > > at > org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) > > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) > > at > org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) > > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) > > at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) > > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) > > at > org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) > > at org.esigate.Driver.render(Driver.java:188) > > at > org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) > > at > org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) > > at > org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) > > at org.esigate.parser.Parser.parse(Parser.java:76) > > at > org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) > > at org.esigate.Driver.performRendering(Driver.java:401) > > at org.esigate.Driver.performRendering(Driver.java:360) > > at org.esigate.Driver.proxy(Driver.java:295) > > at org.esigate.DriverFactory.proxy(DriverFactory.java:403) > > at > org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) > > - locked <0x00000000ec8c1e70> (a > org.apache.tomcat.util.net.SocketWrapper) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > > at java.lang.Thread.run(Thread.java:745) > > > > Did someone already encountered this issue ? > > > > Thanks, > > Thomas > > > > ------------------------------------------------------------------------------ > Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San > Francisco, CA to explore cutting-edge tech and listen to tech luminaries > present their vision of the future. This family event has something for > everyone, including kids. Get more information and register today. > http://sdm.link/attshape > _______________________________________________ > Webassembletool-users mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webassembletool-users > > > > > |
From: Poupon E. <EP...@VO...> - 2016-07-12 07:33:46
|
Hi, I did suscribe yesterday (but after sendind my e-mail) ! What is the value of {{socketTimeout}} ? socketTimeout = 45000 I can see in your configuration that you let the default value for maxConnectionsPerHost which is 20. Yes, we saw that point and agreed to put an upper value (70) since the number of connections is limited at entry. We are going to test this today. When the problem occurs, do you have a lot of users on the application? How many hits/s? First time we saw the problem we had an several users connected, but yesterday problem occurred on a server not used at all (only life check was running). We didn't find out how make the problem occurs, we tried with several stress tests and not succeed. Does the problem fix itself when the load decreases or not? NO ! We had to reboot the servers, even after several hours, number of open thread didn’t decrease. Is EsiGate used also for static files (images, js, css) from the drupal backend? If so why did you disable the cache. EsiGate mix transactional content from a Java application and editorial content from a drupal backend. We are using a VARNISH cache between the EsiGate and the Drupal backend. Find here the JVM / Tomcat parameters set on our ESIGate server : connectionTimeout = 20000 maxThreads = 70 acceptCount = 50 compression no value compressionMinSize no value compressableMimeType no value JDK = 1.8u45 64bits Tomcat = 7.0.53 JVM params = Xms512m Xmx512m XX:+UseConcMarkSweepGC Thx, Emilie Poupon Adam De : fx....@gm... [mailto:fx....@gm...] De la part de Francois-Xavier Bonnet Envoyé : mardi 12 juillet 2016 08:36 À : Poupon Emilie <EP...@VO...> Cc : Francois-Xavier Bonnet <fra...@ce...>; Auffredou Thomas <TAu...@vo...>; web...@li... Objet : Re: [EsiGate-users] Connection thread leak Hi, Please subscribe to the mailing list for faster answers. What is the value of {{socketTimeout}} ? I can see in your configuration that you let the default value for maxConnectionsPerHost which is 20. When the problem occurs, do you have a lot of users on the application? How many hits/s? Does the problem fix itself when the load decreases or not? Is EsiGate used also for static files (images, js, css) from the drupal backend? If so why did you disable the cache. 2016-07-11 20:02 GMT+02:00 Poupon Emilie <EP...@vo...<mailto:EP...@vo...>>: Hi, I’m working with Thomas, he left few minutes ago (he is coming back on wednesday). We still have the issue and no idea about the causes. ESI Gate 5.1 + esigate.properties Thx, Emilie Poupon Adam De : fx....@gm...<mailto:fx....@gm...> [mailto:fx....@gm...<mailto:fx....@gm...>] De la part de Francois-Xavier Bonnet Envoyé : lundi 11 juillet 2016 18:22 À : Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>> Cc : web...@li...<mailto:web...@li...>; Poupon Emilie <EP...@VO...<mailto:EP...@VO...>> Objet : Re: [EsiGate-users] Connection thread leak Hi, In order to help me understand your issue, could you give more information: Which version of EsiGate are you using? Could you share your esigate.properties configuration file? Please subscribe to the mailing so that your future messages will be forwarded directly without requiring an administrator to validate them. 2016-07-11 17:36 GMT+02:00 Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>: Hi, I’m experimenting issues with the ESI clientPool. At some point (I can’t figure out what are the causes), threads start to grow until reaching the thread pool saturation. The leaks happens linearly when requesting a healthcheck url, and any other request accelerates the behavior. The following threaddump extract shows it hangs while acquiring the http client. "http-bio-10.98.48.138-51125-exec-1" #40 daemon prio=5 os_prio=0 tid=0x00007fb760001800 nid=0x6ff4 waiting on condition [0x00007fb7dc507000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000eb970880> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:188) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000ec8c1e70> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Did someone already encountered this issue ? Thanks, Thomas ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Webassembletool-users mailing list Web...@li...<mailto:Web...@li...> https://lists.sourceforge.net/lists/listinfo/webassembletool-users |
From: Francois-Xavier B. <fra...@ce...> - 2016-07-12 06:36:24
|
Hi, Please subscribe to the mailing list for faster answers. What is the value of {{socketTimeout}} ? I can see in your configuration that you let the default value for maxConnectionsPerHost which is 20. When the problem occurs, do you have a lot of users on the application? How many hits/s? Does the problem fix itself when the load decreases or not? Is EsiGate used also for static files (images, js, css) from the drupal backend? If so why did you disable the cache. 2016-07-11 20:02 GMT+02:00 Poupon Emilie <EP...@vo...>: > Hi, > > > > I’m working with Thomas, he left few minutes ago (he is coming back on > wednesday). > > We still have the issue and no idea about the causes. > > > > ESI Gate 5.1 + esigate.properties > > Thx, > > Emilie Poupon Adam > > > > *De :* fx....@gm... [mailto:fx....@gm...] *De la part de* > Francois-Xavier Bonnet > *Envoyé :* lundi 11 juillet 2016 18:22 > *À :* Auffredou Thomas <TAu...@vo...> > *Cc :* web...@li...; Poupon Emilie < > EP...@VO...> > *Objet :* Re: [EsiGate-users] Connection thread leak > > > > Hi, > > > > In order to help me understand your issue, could you give more > information: Which version of EsiGate are you using? Could you share your > esigate.properties configuration file? > > > > Please subscribe to the mailing so that your future messages will be > forwarded directly without requiring an administrator to validate them. > > > > 2016-07-11 17:36 GMT+02:00 Auffredou Thomas < > TAu...@vo...>: > > Hi, > > > > I’m experimenting issues with the ESI clientPool. > > At some point (I can’t figure out what are the causes), threads start to > grow until reaching the thread pool saturation. > > The leaks happens linearly when requesting a healthcheck url, and any > other request accelerates the behavior. > > > > The following threaddump extract shows it hangs while acquiring the http > client. > > > > "http-bio-10.98.48.138-51125-exec-1" #40 daemon prio=5 os_prio=0 > tid=0x00007fb760001800 nid=0x6ff4 waiting on condition [0x00007fb7dc507000] > > java.lang.Thread.State: WAITING (parking) > > at sun.misc.Unsafe.park(Native Method) > > - parking to wait for <0x00000000eb970880> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > > at > java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) > > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) > > at > org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) > > at > org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) > > at > org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) > > at > org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) > > at > org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) > > at > org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) > > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) > > at > org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) > > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) > > at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) > > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) > > at > org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) > > at org.esigate.Driver.render(Driver.java:188) > > at > org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) > > at > org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) > > at > org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) > > at org.esigate.parser.Parser.parse(Parser.java:76) > > at > org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) > > at org.esigate.Driver.performRendering(Driver.java:401) > > at org.esigate.Driver.performRendering(Driver.java:360) > > at org.esigate.Driver.proxy(Driver.java:295) > > at org.esigate.DriverFactory.proxy(DriverFactory.java:403) > > at > org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) > > - locked <0x00000000ec8c1e70> (a > org.apache.tomcat.util.net.SocketWrapper) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > > at java.lang.Thread.run(Thread.java:745) > > > > Did someone already encountered this issue ? > > > > Thanks, > > Thomas > > > > ------------------------------------------------------------------------------ > Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San > Francisco, CA to explore cutting-edge tech and listen to tech luminaries > present their vision of the future. This family event has something for > everyone, including kids. Get more information and register today. > http://sdm.link/attshape > _______________________________________________ > Webassembletool-users mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webassembletool-users > > > |
From: Poupon E. <EP...@VO...> - 2016-07-11 18:02:20
|
Hi, I’m working with Thomas, he left few minutes ago (he is coming back on wednesday). We still have the issue and no idea about the causes. ESI Gate 5.1 + esigate.properties Thx, Emilie Poupon Adam De : fx....@gm... [mailto:fx....@gm...] De la part de Francois-Xavier Bonnet Envoyé : lundi 11 juillet 2016 18:22 À : Auffredou Thomas <TAu...@vo...> Cc : web...@li...; Poupon Emilie <EP...@VO...> Objet : Re: [EsiGate-users] Connection thread leak Hi, In order to help me understand your issue, could you give more information: Which version of EsiGate are you using? Could you share your esigate.properties configuration file? Please subscribe to the mailing so that your future messages will be forwarded directly without requiring an administrator to validate them. 2016-07-11 17:36 GMT+02:00 Auffredou Thomas <TAu...@vo...<mailto:TAu...@vo...>>: Hi, I’m experimenting issues with the ESI clientPool. At some point (I can’t figure out what are the causes), threads start to grow until reaching the thread pool saturation. The leaks happens linearly when requesting a healthcheck url, and any other request accelerates the behavior. The following threaddump extract shows it hangs while acquiring the http client. "http-bio-10.98.48.138-51125-exec-1" #40 daemon prio=5 os_prio=0 tid=0x00007fb760001800 nid=0x6ff4 waiting on condition [0x00007fb7dc507000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000eb970880> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:188) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000ec8c1e70> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Did someone already encountered this issue ? Thanks, Thomas ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Webassembletool-users mailing list Web...@li...<mailto:Web...@li...> https://lists.sourceforge.net/lists/listinfo/webassembletool-users |
From: Francois-Xavier B. <fra...@ce...> - 2016-07-11 16:22:21
|
Hi, In order to help me understand your issue, could you give more information: Which version of EsiGate are you using? Could you share your esigate.properties configuration file? Please subscribe to the mailing so that your future messages will be forwarded directly without requiring an administrator to validate them. 2016-07-11 17:36 GMT+02:00 Auffredou Thomas < TAu...@vo...>: > Hi, > > > > I’m experimenting issues with the ESI clientPool. > > At some point (I can’t figure out what are the causes), threads start to > grow until reaching the thread pool saturation. > > The leaks happens linearly when requesting a healthcheck url, and any > other request accelerates the behavior. > > > > The following threaddump extract shows it hangs while acquiring the http > client. > > > > "http-bio-10.98.48.138-51125-exec-1" #40 daemon prio=5 os_prio=0 > tid=0x00007fb760001800 nid=0x6ff4 waiting on condition [0x00007fb7dc507000] > > java.lang.Thread.State: WAITING (parking) > > at sun.misc.Unsafe.park(Native Method) > > - parking to wait for <0x00000000eb970880> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > > at > java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) > > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) > > at > org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) > > at > org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) > > at > org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) > > at > org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) > > at > org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) > > at > org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) > > at > org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) > > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) > > at > org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) > > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) > > at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) > > at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) > > at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) > > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) > > at > org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) > > at org.esigate.Driver.render(Driver.java:188) > > at > org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) > > at > org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) > > at > org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) > > at org.esigate.parser.Parser.parse(Parser.java:76) > > at > org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) > > at org.esigate.Driver.performRendering(Driver.java:401) > > at org.esigate.Driver.performRendering(Driver.java:360) > > at org.esigate.Driver.proxy(Driver.java:295) > > at org.esigate.DriverFactory.proxy(DriverFactory.java:403) > > at > org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) > > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) > > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) > > - locked <0x00000000ec8c1e70> (a > org.apache.tomcat.util.net.SocketWrapper) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > > at java.lang.Thread.run(Thread.java:745) > > > > Did someone already encountered this issue ? > > > > Thanks, > > Thomas > > > ------------------------------------------------------------------------------ > Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San > Francisco, CA to explore cutting-edge tech and listen to tech luminaries > present their vision of the future. This family event has something for > everyone, including kids. Get more information and register today. > http://sdm.link/attshape > _______________________________________________ > Webassembletool-users mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webassembletool-users > > |
From: Auffredou T. <TAu...@vo...> - 2016-07-11 16:11:42
|
Hi, I'm experimenting issues with the ESI clientPool. At some point (I can't figure out what are the causes), threads start to grow until reaching the thread pool saturation. The leaks happens linearly when requesting a healthcheck url, and any other request accelerates the behavior. The following threaddump extract shows it hangs while acquiring the http client. "http-bio-10.98.48.138-51125-exec-1" #40 daemon prio=5 os_prio=0 tid=0x00007fb760001800 nid=0x6ff4 waiting on condition [0x00007fb7dc507000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000eb970880> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:133) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:282) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:177) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:170) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:102) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:244) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) at org.esigate.http.ProxyingHttpClientBuilder$1.execute(ProxyingHttpClientBuilder.java:105) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) at org.esigate.http.HttpClientRequestExecutor.execute(HttpClientRequestExecutor.java:307) at org.esigate.Driver.render(Driver.java:188) at org.esigate.esi.IncludeElement.processPage(IncludeElement.java:193) at org.esigate.esi.IncludeElement.onTagEnd(IncludeElement.java:81) at org.esigate.parser.ParserContextImpl.endElement(ParserContextImpl.java:92) at org.esigate.parser.Parser.parse(Parser.java:76) at org.esigate.esi.EsiRenderer.render(EsiRenderer.java:122) at org.esigate.Driver.performRendering(Driver.java:401) at org.esigate.Driver.performRendering(Driver.java:360) at org.esigate.Driver.proxy(Driver.java:295) at org.esigate.DriverFactory.proxy(DriverFactory.java:403) at org.esigate.servlet.ProxyFilter.doFilter(ProxyFilter.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) - locked <0x00000000ec8c1e70> (a org.apache.tomcat.util.net.SocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Did someone already encountered this issue ? Thanks, Thomas |
From: Francois-Xavier B. <fra...@ce...> - 2015-12-31 09:01:52
|
Hi Shamama, This feature does not exist in EsiGate yet but I think it would be very useful. If you feel like writing an extension for that, your contribution will be welcome! You should subscribe to the mailing list so that your messages will not be processed as spam. 2015-12-31 7:53 GMT+01:00 Shamama Nasim <SN...@pr...>: > Hi team, > > > > > > In Akamai EdgeSuite we have below control for ESI fragment level caching > TTL as below. > > Do we have some extensions similar to this in ESIGate? > > Example- Basically I want to cache my full page for 1day but in that I > want some specific sections like ratings to be cached for 15Minutes. > > > > <esi:include src=”some uri” ttl=”20s”/> > > <esi:include src=”some other uri” ttl=”1h”/> > > > > > > Thanks > > Shamama > > ________________________________________________________________________ > This electronic mail transmission may contain privileged, > confidential and/or proprietary information intended only for the > person(s) named. Any use, distribution, copying or disclosure to > another person is strictly prohibited. If you are not the > addressee indicated in this message (or responsible for delivery > of the message to such person), you may not copy or deliver this > message to anyone. In such case, you should destroy this message > and kindly notify the sender by reply email. > > > ------------------------------------------------------------------------------ > > _______________________________________________ > Webassembletool-users mailing list > Web...@li... > https://lists.sourceforge.net/lists/listinfo/webassembletool-users > > |
From: Shamama N. <SN...@Pr...> - 2015-12-31 07:14:28
|
Hi team, In Akamai EdgeSuite we have below control for ESI fragment level caching TTL as below. Do we have some extensions similar to this in ESIGate? Example- Basically I want to cache my full page for 1day but in that I want some specific sections like ratings to be cached for 15Minutes. <esi:include src="some uri" ttl="20s"/> <esi:include src="some other uri" ttl="1h"/> Thanks Shamama ________________________________________________________________________ This electronic mail transmission may contain privileged, confidential and/or proprietary information intended only for the person(s) named. Any use, distribution, copying or disclosure to another person is strictly prohibited. If you are not the addressee indicated in this message (or responsible for delivery of the message to such person), you may not copy or deliver this message to anyone. In such case, you should destroy this message and kindly notify the sender by reply email. |