[jira] [Updated] (HTTPCORE-521) PoolingHttpClientConnectionManager issue
[ https://issues.apache.org/jira/browse/HTTPCORE-521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Hoover He updated HTTPCORE-521: --- Affects Version/s: 4.4.9 Component/s: HttpCore NIO HttpCore > 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=0x7f4e1d01d800 nid=0x7ec2 waiting on condition [0x7f4ccda58000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x000641546340> (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 <0x0007a2deeea8> (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 >
[jira] [Created] (HTTPCORE-521) PoolingHttpClientConnectionManager issue
Hoover He created HTTPCORE-521: -- Summary: PoolingHttpClientConnectionManager issue Key: HTTPCORE-521 URL: https://issues.apache.org/jira/browse/HTTPCORE-521 Project: HttpComponents HttpCore Issue Type: Bug Reporter: Hoover He 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=0x7f4e1d01d800 nid=0x7ec2 waiting on condition [0x7f4ccda58000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000641546340> (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 <0x0007a2deeea8> (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