: We have an architecture where we want to flip the solr data.dir (massive : dataset) while running and serving search requests with minimal downtime. ...
: 1) What is the fastest / best possible way to get step 1 done ,through a : pluggable architecture. : : Currently - I have written a request handler as follows, that takes care of : creating the core. What is the best way to change dataDir (got as input from : SolrQueryRequest) before creating SolrCore-s. you shouldn't need any custom plugin code to achieve this ... what you describe wounds like exactly what the SWAP command on the CoreAdmin handler was designed for -- CREATE your new core (using the new data dir) warm it however you want (either via the solrconfig.xml or by explicitly hitting it with queries) and once it's warmed up send the SWAP command to replace the existing core with the name you want to use. : 2) When a close() happens on an existing SolrCore - what happens when there is : a long running IndexReader query on that SolrCore . Is that terminated : abruptly / would the close wait until the IndexReaders completes the Query. any existing uses of the Core will continue to finish (i'm not sure of hte timeline of your question, ut i'm guessing this was before the recent jira issue about the close() method and ref counts where this was better explained, correct?) -Hoss