You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Oleg Kalnichevski (JIRA)" <ji...@apache.org> on 2018/04/08 11:27:00 UTC

[jira] [Commented] (HTTPCORE-521) PoolingHttpClientConnectionManager issue

    [ https://issues.apache.org/jira/browse/HTTPCORE-521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16429729#comment-16429729 ] 

Oleg Kalnichevski commented on HTTPCORE-521:
--------------------------------------------

I am sorry but I am not sure I understand what the issue is about. Please describe stepsĀ to reproduce the problem, preferably with a unit test or test application.

OlegĀ 

> PoolingHttpClientConnectionManager issue
> ----------------------------------------
>
>                 Key: HTTPCORE-521
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-521
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore, HttpCore NIO
>    Affects Versions: 4.4.9
>            Reporter: Hoover He
>            Priority: Major
>
> one issue in production env: our company is using zuul as gateway without Spring Cloud other components. The versions are following: zuul-core 1.3.0, httpcore 4.4.9, httpclient 4.5.5, centos 6.5.
> Before we used httpclient 4.5.2 and httpcore 4.4.6, and we found the bug fixed by apache :https://issues.apache.org/jira/browse/HTTPCORE-446, so we updated into httpcore 4.4.9, httpclient 4.5.5. But the following same issue still happened.
> In our project, we kept all of the source codes of SimpleHostRoutingFilter, used Http11NioProtocol, the codes are following:
> class GkTomcatConnectorCustomizer implements TomcatConnectorCustomizer {
> public void customize(Connector connector) {
> Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();
> protocol.setProcessorCache(4000);
> protocol.setMaxConnections(4000);
> protocol.setMaxThreads(5000);
> protocol.setMinSpareThreads(100);
> protocol.setConnectionTimeout(60*1000);
> }
> }
> The thread dump is following.
> "http-nio-8080-exec-4001" #19245 daemon prio=5 os_prio=0 tid=0x00007f4e1d01d800 nid=0x7ec2 waiting on condition [0x00007f4ccda58000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x0000000641546340> (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.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:380)
> at org.apache.http.pool.AbstractConnPool.access$200(AbstractConnPool.java:69)
> at org.apache.http.pool.AbstractConnPool$2.get(AbstractConnPool.java:246)
> - locked <0x00000007a2deeea8> (a org.apache.http.pool.AbstractConnPool$2)
> at org.apache.http.pool.AbstractConnPool$2.get(AbstractConnPool.java:193)
> at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:303)
> at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:279)
> at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:191)
> at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
> at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
> at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111)
> at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
> at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:118)
> at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
> at com.mobanker.gateway.filter.route.SimpleHostRoutingFilterCustom.forwardRequest(SimpleHostRoutingFilterCustom.java:495)
> at com.mobanker.gateway.filter.route.SimpleHostRoutingFilterCustom.forward(SimpleHostRoutingFilterCustom.java:383)
> at com.mobanker.gateway.filter.route.SimpleHostRoutingFilterCustom.run(SimpleHostRoutingFilterCustom.java:219)
> at com.netflix.zuul.ZuulFilter.runFilter(ZuulFilter.java:112)
> at com.netflix.zuul.FilterProcessor.processZuulFilter(FilterProcessor.java:193)
> at com.netflix.zuul.FilterProcessor.runFilters(FilterProcessor.java:157)
> at com.netflix.zuul.FilterProcessor.route(FilterProcessor.java:118)
> at com.netflix.zuul.ZuulRunner.route(ZuulRunner.java:96)
> at com.netflix.zuul.http.ZuulServlet.route(ZuulServlet.java:116)
> at com.netflix.zuul.http.ZuulServlet.service(ZuulServlet.java:81)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:108)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:106)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
> at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
> at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
> at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)
> at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
> - locked <0x00000007a26384f8> (a org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:745)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org