: that describes concurrency in Solr. The short question is, for such a : cache, do I need to worry about concurrent access (I'm guessing that the : firstSearcher QuerySenderListener process would be : single-threaded/non-concurrent, and thus writes would never be an issue - : is this correct?) - e.g. for my case, would I back the "NoReplacementCache" : with a HashMap or ? The bigger question is: what are the parallel task : execution paths in Solr and under what conditions are they possible?
During the warming phase(s), no one has access to the cache but the stuff doing the warming (the cache regenerator, and later the searcher listeners) which are single threaded, but that's really an implementation detail. after that the SolrCache is used by any concurrent threads that deal with that SolrIndexSearcher instance. In general you should assume that gets/puts on a SolrCache will be concurrent -- in your case the puts are going to be No-Ops, so you relaly just need to worry about hte gets, so a HashMap should work fine. -Hoss