lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Boston <...@tfd.co.uk>
Subject Re: StreamingUpdateSolrServer Hangs.
Date Fri, 11 Nov 2011 04:58:48 GMT
Sorry for the noise, but I might as well answer my own question, since
I have found a solution.

The problem doesn't appear to happen after 1144174, which I think was
due to SOLR-1711 fixes, but its hard to tell as the svn history isn't
that clear.

And before that using CommonHttpSolrServer avoids the problem.

Thanks
Ian

On 11 November 2011 13:03, Ian Boston <ieb@tfd.co.uk> wrote:
> Hi,
> This may be related to SOLR-1711 and/or SOLR-1543, however I read the
> archives and the issues and think I am running code where these issues
> have been fixed.
>
> I am running a snapshot of Solr4 at revision 1040465, which was about
> Feb 2011 IIRC, and I am testing recovery of the client when the master
> Solr instance in a cluster dies. The indexer uses a
> StreamingUpdateSolrServer. When the master Solr instance dies the
> client commits fail with a java.net.ConnectException on the commit
> operation which bubbles back up the stack to the SolrJ client. The
> runner threads retry several times and eventually fail, emptying the
> queue.
>
> When the master Solr instance comes back online, I see the runner
> threads re-trying and I think succeeding, but the SolrJ client thread
> ends up in this state (forever). There are no runner threads (in my
> case pool-2-thread-x) present in the thread dump.
>
> "IndexerQueueDispatch" daemon prio=10 tid=0x00007f87949e0000
> nid=0x7f68 waiting on condition [0x00007f87928a7000]
>   java.lang.Thread.State: WAITING (parking)
>        at sun.misc.Unsafe.park(Native Method)
>        - parking to wait for  <0x00000000b2277390> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
>        at java.util.concurrent.LinkedBlockingQueue.put(LinkedBlockingQueue.java:306)
>        at org.apache.solr.client.solrj.impl.StreamingUpdateSolrServer.request(StreamingUpdateSolrServer.java:218)
>        at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:105)
>        at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:50)
>        at org.sakaiproject.nakamura.solr.ContentEventListener.batchedEventRun(ContentEventListener.java:379)
>        at org.sakaiproject.nakamura.solr.ContentEventListener.run(ContentEventListener.java:285)
>        at java.lang.Thread.run(Thread.java:662)
>
> I can reproduce with ease.
>
> I suspect using a CommonsHttpSolrServer will fix the problem, as it
> will make indexing single threaded on the client side, which I would
> like to avoid if possible.
>
> Is this something that has been seen before now?
> Is there a fix in a later revision?
>
>
> Thanks
> Ian
>
> (btw, since this is snapshot code I thought the dev list was the best
> place to ask the question, please say if I should re-post on the users
> list. Also, if its been fixed already, please just post a pointer or
> something to search for and tell me to go away and read it :))
>
>
>
>
>
>
> https://issues.apache.org/jira/browse/SOLR-1711
> https://issues.apache.org/jira/browse/SOLR-1543
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message