: We should be using read-only readers, which should not synchronize on FWIW: skimming through code that i don't normally look at to see the new read only changes i noticed this in SolrCore...
// gets a non-caching searcher public SolrIndexSearcher newSearcher(String name, boolean readOnly) throws IOException { return new SolrIndexSearcher(this, schema, name, directoryFactory.open(getIndexDir()), false); //return new SolrIndexSearcher(this, schema, "main", IndexReader.open(FSDirectory.getDirectory(getIndexDir()), readOnly), true, false); } ...i realized about 2 minutes later that this method doesn't get used by anything in Solr, so it shouldn't be causing the the wrong Reader to be used, but it is still going to be broken if anyone tries to use it in a plugin. -Hoss