Ah, you're right. If you queries run across several commits you'll get multiple searchers open.
I don't know of any good way to do what you want. I'm curious, why can't you do a master/slave setup? The other thing to think about would be the NRT stuff if you can run trunk. Best Erick On Wed, Mar 7, 2012 at 2:30 PM, Michael Ryan <mr...@moreover.com> wrote: >> Unless you have warming happening, there should >> only be a single searcher open at any given time. >> So it seems to me that maxWarmingSearchers >> should give you what you need. > > What I'm seeing is that if a query takes a very long time to run, and runs > across the duration of multiple commits (I know, that itself sounds bad!), I > can get into a situation where I have 2 searchers in use and 1 searcher > warming, rather than 1 searcher in use and 1 searcher warming. Due to all the > memory-intensive features I use, having 3 or more searchers open can cause an > OutOfMemoryError. > > I'm not using master/slave for this application, so can't go that route. > > I'd like a way to see how many searchers are currently open that is external > to Solr. This would allow me to block my commits until I see that there is > only 1 searcher currently open. I could use JMX, but that feels like overkill > - wondering if there is something simpler. > > -Michael