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

Erick Erickson commented on SOLR-2967:
--------------------------------------

This kind of thing is better raised on the Solr user's list before raising a 
Jira.

Offhand, I suspect you're shooting yourself in the foot. If you're committing 
after every add as your code seems to indicate, you could occasionally be 
triggering a very large merge that delays blocks other adds long enough to 
trigger a timeout on the client, resulting in the broken pipe and the assorted 
errors you're seeing.

Try removing the commit from your loop and setting your <autoCommit> values in 
your solrconfig.xml file to a reasonable value (say 300000 for 5 minutes). You 
can do a commit at the end of the entire run if you want.

                
> StreamingUpdateSolrServer Error
> -------------------------------
>
>                 Key: SOLR-2967
>                 URL: https://issues.apache.org/jira/browse/SOLR-2967
>             Project: Solr
>          Issue Type: Bug
>          Components: update
>    Affects Versions: 1.4
>         Environment: Unix
>            Reporter: Bidisha Banerjee
>            Priority: Minor
>
> Hi,I am using Solr-1.4.0 version. Whenever I am trying you run a full Solr 
> index, I get intermittent error as shown below and the numdocs in Statistics 
> section does not reflect the exact count of index documents.(The amount of 
> data is 1004384). Sometimes I get this error and sometimes not.
> The queue size is 200 and thread is 20. I initialize StreamingUpdateSolr 
> server as:
> servers.add(new StreamingUpdateSolrServer(serverUrl,200,20));
> I am using the following code for commit:
> For StreamingUpdateSolrServer:
> ------------------------------
> //UpdateRequest req;
> //req.setAction(ACTION.COMMIT, true, false);
> // StreamingUpdateSolrServer.request(req);
> For SolrServer:
> ------------------
> //UpdateResponse response = server.add(documents);                
> //UpdateResponse commitResp = server.commit();
> The error:
> ---------------
> ERROR StreamingUpdateSolrServer:259 - error
> java.lang.Exception: Service Temporarily Unavailable
> Service Temporarily Unavailable
> request: http://<localhost>>/solr/testCOre/update
>       at 
> org.apache.solr.client.solrj.impl.StreamingUpdateSolrServer$Runner.run(StreamingUpdateSolrServer.java:161)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>       at java.lang.Thread.run(Thread.java:595)
> *************************************************************************************************
> Also I get the following error in /update section of Solr admin page:
> handlerStart : 1321903404556
> requests : 68200
> errors : 806
> timeouts : 0
> totalTime : 707909202
> avgTimePerRequest : 10379.9
> avgRequestsPerSecond : 0.0355129 
> ************************************************************************************************
> Sometimes I get this error:
> 12:24:13,066  INFO HttpMethodDirector:439 - I/O exception 
> (java.net.SocketException) caught when processing request: Broken pipe
> 12:24:13,066  INFO HttpMethodDirector:445 - Retrying request
> 12:24:13,067 ERROR StreamingUpdateSolrServer:259 - error
> org.apache.commons.httpclient.ProtocolException: Unbuffered entity enclosing 
> request can not be repeated.
>       at 
> org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:487)
>       at 
> org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
>       at 
> org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
>       at 
> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
>       at 
> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
>       at 
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
>       at 
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
>       at 
> org.apache.solr.client.solrj.impl.StreamingUpdateSolrServer$Runner.run(StreamingUpdateSolrServer.java:153)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>       at java.lang.Thread.run(Thread.java:595)
> It would be great if you could let me know a probable fix for this. It is 
> also difficult to debug as the error is intermittent.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to