lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Monsur Hossain" <>
Subject IndexSearcher hanging on to old index files in Windows
Date Thu, 28 Apr 2005 22:10:45 GMT

Hi all.  I'm running Lucene.NET in a Windows/ASP.NET environment.  We are
searching a 300meg index in a web environment, where the IndexSearcher is
cached.  Every 10-30 minutes, a separate process updates the index.  When
ASP.NET's cache detects a changed index, it drops the current IndexSearcher
(which the Garbage collector takes care of in the future [1]) and creates a
new one. 

Now, while the index is being updated, the current IndexSearcher in cache
holds a reference to the old index files.  Therefore, the IndexWriter can't
delete them, and they sit around in the folder, continuing to grow.  Since
the IndexSearcher is left to the GC, there's no guarantee of when the files
will be released.  

I was considering such previously mentioned systems as reference counting
[2] and swapping between two indexes [3].  But in both these cases, I don't
think I'm ever guaranteed that an old IndexSearcher will have released its
grasp on the old files in time to delete them.  

Anyway, I'd like to hear if others are dealing with this issue.

Also, I'm curious, is this a Windows specific issue; I haven't seen any
mention of this on UNIX?


[3] I can't find a link to it, but it was suggested by George Aroush in a
previous thread of mine.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message