My search process is using MMapDirectory on a read-only index via:
-Dorg.apache.lucene.FSDirectory.class=org.apache.lucene.store.MMapDirectory Another indexing process is building the next version of the index in a different directory. When it's time to switch to the new index, the search process closes the old IndexSearcher, MultiReader (2) and FSDirectories (2) and opens the new index. Subsequently, attempts to delete the old index files fail because there are apparently still references to them from the old MMapDirectory (the deletes succeed when using FSDirectory). My understanding is that the file mapping is valid until the underlying buffer is garbage-collected. Is there a deterministic way of releasing the old memory mapped files so that they can be deleted sucessfully? Thanks, Peter