[ https://issues.apache.org/jira/browse/LUCENENET-106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659017#action_12659017 ]
George Aroush commented on LUCENENET-106: ----------------------------------------- Hi DIGY, I reviewed "Paches for v2.3.1.rar", and I have the following suggestion to make: 1) CachingSpanFilter.cs, and CachingWrapperFilter.cs -- remove the line: "//cache = new System.Collections.Hashtable();" 2) FieldCacheImpl.cs -- remove the line: "//private System.Collections.IDictionary readerCache = new System.Collections.Hashtable();" 3) FieldCacheImpl.cs -- remove the method "Close(IndexReader reader)", it's no longer need (doesn't exists in the Java ver.); it was added to the C# version in 2.0 to eliminate this memory leak issue regarding hash-n-sort; look in the HISTORY.txt file under 27Nov06 for the details. 4) WeakHashTable.cs -- move this code to SupportClass.cs and then you don't have to commit a new file -- this file -- to SVN; just add a new class, WeakHashTable in SupportClass.cs. The reason why I'm making this comment is to keep the port 1-to-1 with the Java version. 5) Form1.cs -- do not commit this file to SVN. If you agree with my review and comments, please go ahead and commit with my suggested changes. Regards, -- George > Lucene.NET (Revision: 603121) is leaking memory > ----------------------------------------------- > > Key: LUCENENET-106 > URL: https://issues.apache.org/jira/browse/LUCENENET-106 > Project: Lucene.Net > Issue Type: Bug > Environment: .NET 2.0 > Reporter: Anton K. > Priority: Critical > Attachments: DIGY-FieldCacheImpl.patch, Digy.rar, > luceneSrc_memUsage.patch, Paches for v2.3.1.rar, > WeakHashTable+FieldCacheImpl.rar, WeakReferences.rar > > > readerCache Hashtable field (see FieldCacheImpl.cs) never releases some hash > items that have closed IndexReader object as a key. So a lot of Term > instances are never released. > Java version of Lucene uses WeakHashMap and therefore doesn't have this > problem. > This bug can be reproduced only when Sort functionality used during search. > See following link for additional information. > http://www.gossamer-threads.com/lists/lucene/java-user/55681 > Steps to reproduce: > 1)Create index > 2) Modify index by IndexWiter; Close IndexWriter > 3) Use IndexSearcher for searching with Sort; Close InexSearcher > 4) Go to step 2 > You'll get OutOfMemoryException after some time of running this algorithm. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.