Daniele
>From the stack trace it looks like the java.net.BindException is happening when you are calling HttpClient code. Searching google for "java.net.BindException httpclient" finds various hits. Maybe one of those will help. I don't think this has anything directly to do with solr or tomcat. -- Ian. On Nov 13, 2007 9:16 AM, Daniele Salvatico <[EMAIL PROTECTED]> wrote: > > > Hi all, > > i have a Solr instance running under tomcat 5.5. My application uses a java > servlet to handle data. I have a problem with "add-update" process: at the > first run the add process is ok and very fast . At this first run i add > around 2.000 docs. Then i commit and all is ok. > The problem is that if i run the same the "add - update" process again, > sometimes (not all the times) it fails with this error: > > 13-nov-2007 8.17.32 org.apache.solr.handler.XmlUpdateRequestHandler update > INFO: added id={2524} in 15ms > - I/O exception (java.net.BindException) caught when processing request: > Address already in use: connect > - Retrying request > - I/O exception (java.net.BindException) caught when processing request: > Address already in use: connect > - Retrying request > - I/O exception (java.net.BindException) caught when processing request: > Address already in use: connect > - Retrying request > Fatal transport error: Address already in use: connect > 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 java.net.Socket.connect(Unknown Source) > at java.net.Socket.<init>(Unknown Source) > at java.net.Socket.<init>(Unknown Source) > at > org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:79) > at > org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:121) > at > org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:706) > at > org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:386) > at > org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170) > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396) > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324) > at > intellisemantic.servlet.solr.DWServlet.sendPostCommand(DWServlet.java:985) > at > intellisemantic.servlet.solr.DWServlet.processExecuteCommand(DWServlet.java:826) > at intellisemantic.servlet.solr.DWServlet.indexing(DWServlet.java:435) > at intellisemantic.servlet.solr.DWServlet.doGet(DWServlet.java:163) > at intellisemantic.servlet.solr.DWServlet.doPost(DWServlet.java:1113) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > at java.lang.Thread.run(Unknown Source) > - Servlet.service() for servlet dw threw exception > java.lang.NullPointerException > at > intellisemantic.servlet.solr.DWServlet.sendPostCommand(DWServlet.java:1022) > at > intellisemantic.servlet.solr.DWServlet.processExecuteCommand(DWServlet.java:826) > at intellisemantic.servlet.solr.DWServlet.indexing(DWServlet.java:435) > at intellisemantic.servlet.solr.DWServlet.doGet(DWServlet.java:163) > at intellisemantic.servlet.solr.DWServlet.doPost(DWServlet.java:1113) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > at java.lang.Thread.run(Unknown Source) > > > > The code i'm using for sending the post command for adding docs is the > following: > > private String sendPostCommand(String command, String url) > throws IOException { > > > StringBuffer results = null; > HttpClient client = new HttpClient(); > PostMethod post = new PostMethod(url); > > RequestEntity re = new StringRequestEntity(command, > "text/xml", "UTF-8"); > post.setRequestEntity(re); > try { > // Execute the method. > int statusCode = client.executeMethod(post); > > if (statusCode != HttpStatus.SC_OK) { > System.err.println("Method failed: " + > post.getStatusLine()); > } > > InputStream responseBody = > post.getResponseBodyAsStream(); > > DataInputStream din = new > DataInputStream(responseBody); > > results = new StringBuffer(); > > String line = null; > BufferedReader br = new BufferedReader(new > InputStreamReader(responseBody,"UTF-8")); > while ((line = br.readLine()) != null) { > results.append(line+"\n"); > } > //System.out.println(results); > > > br.close(); > din.close(); > responseBody.close(); > } catch (HttpException e) { > System.err.println("Fatal protocol violation: " + > e.getMessage()); > e.printStackTrace(); > } catch (IOException e) { > System.err.println("Fatal transport error: " + > e.getMessage()); > e.printStackTrace(); > } finally { > // Release the connection. > post.releaseConnection(); > } > return results.toString(); > } > > > I was wondering if it's a solr relelated issue or if it depends on tomcat > configuration. > > Thanks for help. > > Daniele Salvatico > -- > View this message in context: > http://www.nabble.com/--I-O-exception-%28java.net.BindException%29-caught-when-processing-request%3A-Address-already-in-use%3A-connect-while-updating-tf4796622.html#a13722290 > Sent from the Solr - User mailing list archive at Nabble.com. > >