Thanks Ian,

I'll search for HttpClient related problem.


Daniele


Ian Lea wrote:
> 
> 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.
>>
>>
> 
> 

-- 
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#a13723588
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to