This is one of those fantastically irritating bugs that only pops up... sometimes. I'm using DirectSolrConnection to provide search for a JRuby application, and everything works great, except every now and then, I get a ava.util.concurrent.RejectedExecutionException in the error log.
I wrote a test harness to try and duplicate the problem, but banging against DirectSolrCollection with 20 concurrent threads, at 10k requests per thread, just showed that Solr is... well, fast. :) So, it's a very intermittent error, and I can't reproduce it. Anybody else running into this? ERROR - java.util.concurrent.RejectedExecutionException at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1760) at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767) at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:92) at java.util.concurrent.Executors$DelegatedExecutorService.submit(Executors.java:603) at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1178) at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:913) at org.apache.solr.request.SolrQueryRequestBase.getSearcher(SolrQueryRequestBase.java:209) at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:139) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:195) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1316) at org.apache.solr.servlet.DirectSolrConnection.request(DirectSolrConnection.java:172) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:467) at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:319) at org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:60) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:187) at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:210) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:185) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:187) at org.jruby.ast.FCallTwoArgNode.interpret(FCallTwoArgNode.java:38) at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:173) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:169) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:147) at $_dot_.test_minus_solrize.block_8$RUBY$__block__(test-solrize.rb:87) at $_dot_.test_minus_solrizeBlockCallback$block_8$RUBY$__block__xx1.call(Unknown Source) at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:105) at org.jruby.runtime.Block.yield(Block.java:194) at org.jruby.RubyFixnum.times(RubyFixnum.java:259) at org.jruby.RubyInteger.times19(RubyInteger.java:225) at org.jruby.RubyInteger$i_method_0_0$RUBYFRAMEDINVOKER$times19.call(org/jruby/RubyInteger$i_method_0_0$RUBYFRAMEDINVOKER$times19.gen) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:116) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:133) at $_dot_.test_minus_solrize.block_7$RUBY$__block__(test-solrize.rb:83) at $_dot_.test_minus_solrizeBlockCallback$block_7$RUBY$__block__xx1.call(Unknown Source) at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:125) at org.jruby.runtime.BlockBody.call(BlockBody.java:72) at org.jruby.runtime.BlockBody.call(BlockBody.java:78) at org.jruby.runtime.Block.call(Block.java:89) at org.jruby.RubyProc.call(RubyProc.java:221) at org.jruby.RubyProc.call(RubyProc.java:204) at org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:94) at java.lang.Thread.run(Thread.java:637)