You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Erick Erickson (Commented) (JIRA)" <ji...@apache.org> on 2011/12/14 14:21:30 UTC

[jira] [Commented] (SOLR-2967) StreamingUpdateSolrServer Error

    [ 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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org