Solr 4.0 を使用していますが、奇妙なエラーが発生します。1 つのシャードと 3 つのノードで solr クラウドを実行しています。ID ThreadDumpHandler
0 の無効なスレッドがあることがわかります。
ThreadMXBean tmbean = ManagementFactory.getThreadMXBean();
long[] tids = tmbean.getAllThreadIds();
log.info("all threads tids:" + (tids == null? "null" :tids.length));
if (tids != null) {
for (long l :tids) {
log.info(String.valueOf(l));
}
log.info("all thread infos:");
NamedList<SimpleOrderedMap<Object>> lst = new NamedList<SimpleOrderedMap<Object>>();
for (long l :tids) {
if (l > 0) {
ThreadInfo ti = tmbean.getThreadInfo(l, Integer.MAX_VALUE);
if (ti != null) {
log.info(ti.toString());
lst.add( "thread", getThreadInfo( ti, tmbean ) );
}
} else {
log.info("invalid thread id:" + l);
}
}
system.add( "threadDump", lst );
}