Hey guys,
I'm using Solr 1.4.1 and I've been having some problems lately with code
that adds documents through a CommonsHttpSolrServer. It seems that randomly
the call to theserver.add() will hang. I am currently running my code in a
single thread, but I noticed this would happen in multi threaded code as
well. The jar version of commons-httpclient is 3.1.
I got a thread dump of the process, and one thread seems to be waiting on
the org.apache.commons.httpclient.MultiThreadedHttpConnectionManager as
shown below. All other threads are in a RUNNABLE state (besides the
Finalizer daemon).
[java] Full thread dump Java HotSpot(TM) 64-Bit Server VM (16.3-b01
mixed mode):
[java]
[java] "MultiThreadedHttpConnectionManager cleanup" daemon prio=10
tid=0x00007f441051c800 nid=0x527c in Object.wait() [0x00007f4417e2f000]
[java] java.lang.Thread.State: WAITING (on object monitor)
[java] at java.lang.Object.wait(Native Method)
[java] - waiting on <0x00007f443ae5b290> (a
java.lang.ref.ReferenceQueue$Lock)
[java] at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
[java] - locked <0x00007f443ae5b290> (a
java.lang.ref.ReferenceQueue$Lock)
[java] at
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
[java] at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(MultiThreadedHttpConnectionManager.java:1122)
Any ideas?
Thanks.