SOLR-2193. We already have a branch to work on this issue here https://svn.apache.org/repos/asf/lucene/dev/branches/solr2193
The main goal here is to prevent solr from closing the IW and use IW#commit instead. AFAIK the main issues here are:
The update handler needs an overhaul.
A few goals I think we might want to look at:
1. Expose the SolrIndexWriter in the api or add the proper abstractions to get done what we now do with special casing:
2. Stop closing the IndexWriter and start using commit (still lazy IW init though).
3. Drop iwAccess, iwCommit locks and sync mostly at the Lucene level.
4. Address the current issues we face because multiple original/'reloaded' cores can have a different IndexWriter on the same index.
Eventually this is a preparation for NRT support in Solr which I will create a followup issue for.