So, I've started looking at thread leaks. Lucene tests are, so far,
leak-free at the suite level. Solr has some problems and I could use
some help in trying to figure out how to handle these. So, the first
one is this:

TestMultiCoreConfBootstrap

This one leaks a thread from:

           1) Thread[id=22, name=Thread-3, state=WAITING, group=Overseer
collection creation process.]
                at sun.misc.Unsafe.park(Native Method)
                at 
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
                ...
                at 
java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236)
                at 
org.apache.solr.cloud.DistributedQueue$LatchChildWatcher.await(DistributedQueue.java:185)
                at 
org.apache.solr.cloud.DistributedQueue.peek(DistributedQueue.java:291)
                at 
org.apache.solr.cloud.OverseerCollectionProcessor.run(OverseerCollectionProcessor.java:81)
                at java.lang.Thread.run(Thread.java:722)

This thread is started by Overseer(.java):

    ThreadGroup ccTg = new ThreadGroup("Overseer collection creation process.");
    Thread ccThread = new Thread(ccTg, new
OverseerCollectionProcessor(reader, id, shardHandler, adminPath));
    ccThread.setDaemon(true);
    ccThread.start();

The fact it's a daemon thread is fine, but it still shouldn't survive
the end of the suite (should be closed/ interrupted). The problem is I
don't see how it can be closed (or interrupted) in a clean way. I am
completely green in terms of zookeeper -- what is it that I should
close/ interrupt to shut this thing down cleanly?

Dawid

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

Reply via email to