You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@shindig.apache.org by "erbil kurtsoy (JIRA)" <ji...@apache.org> on 2011/03/17 16:26:29 UTC
[jira] Created: (SHINDIG-1517) Error: java.net.BindException:
Address already in use: connect
Error: java.net.BindException: Address already in use: connect
--------------------------------------------------------------
Key: SHINDIG-1517
URL: https://issues.apache.org/jira/browse/SHINDIG-1517
Project: Shindig
Issue Type: Question
Components: Java
Affects Versions: 2.0.0
Environment: Tomcat 6.0
shindig-server-2.0.0.war
Reporter: erbil kurtsoy
We are trying to load test shindig with our GWT gadgets. Both shindig server and gadgets running on the same server. We isolated the ajax call and ran it in multiple simultaneous user scenarios. We increased the DEFAULT_CONNECT_TIMEOUT_MS and DEFAULT_READ_TIMEOUT_MS values in BasicHttpFetcher source code to eliminate the timeout errors. As we increase the load from 1 to 5, 10, 25 users, we start geting this error. I'm wondering if BasicHttpFetcher is handling connection pool correctly. Any insight would be highly appreciated. Thanks.
Request:
POST /gadgets/makeRequest HTTP/1.1
Error in Tomcat Log:
Mar 16, 2011 4:28:28 PM org.apache.shindig.gadgets.http.BasicHttpFetcher fetch
INFO: Got Exception fetching http://rkvrhld121.devlab.dev:8089/QRAGadget3/org.finra.ems.QraApp/firmFacade.do - 15ms
java.net.BindException: Address already in use: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:123)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:123)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:147)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:108)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:597)
at org.apache.shindig.gadgets.http.BasicHttpFetcher.fetch(BasicHttpFetcher.java:357)
at org.apache.shindig.gadgets.http.DefaultRequestPipeline.execute(DefaultRequestPipeline.java:89)
at org.apache.shindig.gadgets.servlet.MakeRequestHandler.fetch(MakeRequestHandler.java:91)
at org.apache.shindig.gadgets.servlet.MakeRequestServlet.doGet(MakeRequestServlet.java:57)
at org.apache.shindig.gadgets.servlet.MakeRequestServlet.doPost(MakeRequestServlet.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.shindig.auth.AuthenticationServletFilter.callChain(AuthenticationServletFilter.java:124)
at org.apache.shindig.auth.AuthenticationServletFilter.doFilter(AuthenticationServletFilter.java:87)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (SHINDIG-1517) Error: java.net.BindException:
Address already in use: connect
Posted by "Paul Lindner (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SHINDIG-1517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Lindner resolved SHINDIG-1517.
-----------------------------------
Resolution: Fixed
You probably have a badly configured system that needs more client-side ports to handle the load you're throwing at it. See
http://wiki.apache.org/HttpComponents/FrequentlyAskedConnectionManagementQuestions
I added a change that sets SO_REUSEADDR, that should help..
> Error: java.net.BindException: Address already in use: connect
> --------------------------------------------------------------
>
> Key: SHINDIG-1517
> URL: https://issues.apache.org/jira/browse/SHINDIG-1517
> Project: Shindig
> Issue Type: Question
> Components: Java
> Affects Versions: 2.0.0
> Environment: Tomcat 6.0
> shindig-server-2.0.0.war
> Reporter: erbil kurtsoy
> Labels: shindig
>
> We are trying to load test shindig with our GWT gadgets. Both shindig server and gadgets running on the same server. We isolated the ajax call and ran it in multiple simultaneous user scenarios. We increased the DEFAULT_CONNECT_TIMEOUT_MS and DEFAULT_READ_TIMEOUT_MS values in BasicHttpFetcher source code to eliminate the timeout errors. As we increase the load from 1 to 5, 10, 25 users, we start geting this error. I'm wondering if BasicHttpFetcher is handling connection pool correctly. Any insight would be highly appreciated. Thanks.
> Request:
> POST /gadgets/makeRequest HTTP/1.1
> Error in Tomcat Log:
> Mar 16, 2011 4:28:28 PM org.apache.shindig.gadgets.http.BasicHttpFetcher fetch
> INFO: Got Exception fetching http://rkvrhld121.devlab.dev:8089/QRAGadget3/org.finra.ems.QraApp/firmFacade.do - 15ms
> java.net.BindException: Address already in use: connect
> at java.net.PlainSocketImpl.socketConnect(Native Method)
> at java.net.PlainSocketImpl.doConnect(Unknown Source)
> at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
> at java.net.PlainSocketImpl.connect(Unknown Source)
> at java.net.SocksSocketImpl.connect(Unknown Source)
> at java.net.Socket.connect(Unknown Source)
> at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:123)
> at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:123)
> at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:147)
> at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:108)
> at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
> at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
> at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:597)
> at org.apache.shindig.gadgets.http.BasicHttpFetcher.fetch(BasicHttpFetcher.java:357)
> at org.apache.shindig.gadgets.http.DefaultRequestPipeline.execute(DefaultRequestPipeline.java:89)
> at org.apache.shindig.gadgets.servlet.MakeRequestHandler.fetch(MakeRequestHandler.java:91)
> at org.apache.shindig.gadgets.servlet.MakeRequestServlet.doGet(MakeRequestServlet.java:57)
> at org.apache.shindig.gadgets.servlet.MakeRequestServlet.doPost(MakeRequestServlet.java:70)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.shindig.auth.AuthenticationServletFilter.callChain(AuthenticationServletFilter.java:124)
> at org.apache.shindig.auth.AuthenticationServletFilter.doFilter(AuthenticationServletFilter.java:87)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira