NRT reader/writer over RAMDirectory memory leak -----------------------------------------------
Key: LUCENE-3409 URL: https://issues.apache.org/jira/browse/LUCENE-3409 Project: Lucene - Java Issue Type: Bug Components: core/index Affects Versions: 3.3, 3.0.2 Reporter: tal steier with NRT reader/writer, emptying an index using: writer.deleteAll() writer.commit() doesn't release all allocated memory. for example the following code will generate a memory leak: /** * Reveals a memory leak in NRT reader/writer<br> * * The following main() does 10K cycles of: * <ul> * <li>Add 10K empty documents to index writer</li> * <li>commit()</li> * <li>open NRT reader over the writer, and immediately close it</li> * <li>delete all documents from the writer</li> * <li>commit changes to the writer</li> * </ul> * * Running with -Xmx256M results in an OOME after ~2600 cycles */ public static void main(String[] args) throws Exception { RAMDirectory d = new RAMDirectory(); IndexWriter w = new IndexWriter(d, new IndexWriterConfig(Version.LUCENE_33, new KeywordAnalyzer())); Document doc = new Document(); for(int i = 0; i < 10000; i++) { for(int j = 0; j < 10000; ++j) { w.addDocument(doc); } w.commit(); IndexReader.open(w, true).close(); w.deleteAll(); w.commit(); } w.close(); d.close(); } -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org