Thanks for your answer.

I am running an (older) revision of solr from around the 29/2-2012

I suspect that the thread I have included is the leader of the shard?
The Solr instance, I have the dump from, contains more than one leader, so I don't know which shard (slice) the thread is working on. How can I find the solr instance containing the replica (I guess ZooKeeper can't help me)? And when I have found the solr instance containing the replica, how do I know which thread is handling the update request (all my solr instances contains 8 cores)?

If this is not possible, I might be able to restart with a setup where each Solr instances only contains a single core (a leader or a replica).

Best regards Trym

Den 19-04-2012 14:36, Yonik Seeley skrev:
On Thu, Apr 19, 2012 at 4:25 AM, "Trym R. Møller"<t...@sigmat.dk>  wrote:
Hi

I am using Solr trunk and have 7 Solr instances running with 28 leaders and
28 replicas for a single collection.
After indexing a while (a couple of days) the solrs start hanging and doing
a thread dump on the jvm I see blocked threads like the following:
    Thread 2369: (state = BLOCKED)
     - sun.misc.Unsafe.park(boolean, long) @bci=0 (Compiled frame;
information may be imprecise)
     - java.util.concurrent.locks.LockSupport.park(java.lang.Object) @bci=14,
line=158 (Compiled frame)
     -
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await()
@bci=42, line=1987 (Compiled frame)
     - java.util.concurrent.LinkedBlockingQueue.take() @bci=29, line=399
(Compiled frame)
     - java.util.concurrent.ExecutorCompletionService.take() @bci=4, line=164
(Compiled frame)
     - org.apache.solr.update.SolrCmdDistributor.checkResponses(boolean)
@bci=27, line=350 (Compiled frame)
     - org.apache.solr.update.SolrCmdDistributor.finish() @bci=18, line=98
(Compiled frame)
     - org.apache.solr.update.processor.DistributedUpdateProcessor.doFinish()
@bci=4, line=299 (Compiled frame)
     - org.apache.solr.update.processor.DistributedUpdateProcessor.finish()
@bci=1, line=817 (Compiled frame)
    ...
     - org.mortbay.thread.QueuedThreadPool$PoolThread.run() @bci=25, line=582
(Interpreted frame)

I read the stack trace as my indexing client has indexed a document and this
Solr is now waiting for the replica? to respond before returning an answer
to the client.
Correct.  What's the full stack trace like on both a leader and replica?
We need to know what the replica is blocking on.

What version of trunk are you using?

-Yonik
lucenerevolution.com - Lucene/Solr Open Source Search Conference.
Boston May 7-10

Reply via email to