Good rule of thumb: don't ever count on the garbage collector cleaning
up for you (even if you call System.gc() to give it a hint).

You should close your IndexSearchers, but with a multithreaded
application  it's difficult to know when (you have to keep them open
until no thread uses it any more)

I created a class DelayCloseIndexSearcher class and posted it in jira
just for this purpose (See
http://issues.apache.org/jira/browse/LUCENE-445)
There's a use case in the javadoc.

I'm using it in my production system (but in a more complex way than in
the example code) and I don't (seem to :) have any problems...

Either way, I would very much appreciate some feedback about the code.

Thanks,

Luc

-----Original Message-----
From: Matt Magoffin [mailto:[EMAIL PROTECTED] 
Sent: vrijdag 18 november 2005 8:58
To: java-user@lucene.apache.org
Subject: RE: References to deleted file handles in long-running server
application

I'm updating nearly continuously (probably average about every 10
seconds). I don't explicitly close the IndexSearcher objects I create,
as
I share them across threads, but do leave them to be garbage collected.
I
ran into index corruption issues when I explicitly closed them, since I
don't have any code keeping track of how many threads might be using a
given IndexSearcher.

I wonder if it's worth the effort of adding that code in, or can I be
ensured that when the IndexSearcher objects are garbage collected the
file
handles will be released?

-- m@

> How often are you updating your index?  Are you closing your old
> IndexSearchers after switching over to the new index?  You'll need to
> close the searchers in order to release the file handle.  This was the
> same issue I was experiencing:
>
>
http://mail-archives.apache.org/mod_mbox/lucene-java-user/200504.mbox/%3
> [EMAIL PROTECTED]
>
> - Monsur
>
>
>
>> -----Original Message-----
>> From: Matt Magoffin [mailto:[EMAIL PROTECTED]
>> Sent: Thursday, November 17, 2005 11:05 PM
>> To: java-user@lucene.apache.org
>> Subject: Re: References to deleted file handles in
>> long-running server application
>>
>>
>> I've been watching our servers today, and now there are 2500
>> "deleted" file handles open like this. Seems to be quite
>> large. Still don't know why there are so many. I'm using the
>> compound index format already to reduce the number of open files.
>>
>> -- m@
>>
>> > Hello, I use Lucene in a long-running server application on a Linux
>> > server, and the other day I got the "Too many open files"
>> exception.
>> > I've increased the number of allowed file handles, but was checking
>> > out the open file handles using "lsof", and see about 300
>> files listed
>> > like the
>> > following:
>> >
>> > java       1458  jboss  436r   REG        8,2      3945   6258825
>> > /var/lucene-index/_1o6hl.cfs (deleted)
>> > java       1458  jboss  437r   REG        8,2      3467   6258829
>> > /var/lucene-index/_1o6hp.cfs (deleted)
>> > java       1458  jboss  438r   REG        8,2      2743   6258826
>> > /var/lucene-index/_1o6ht.cfs (deleted)
>> > java       1458  jboss  439r   REG        8,2      4069   6258817
>> > /var/lucene-index/_1o6hx.cfs (deleted)
>> > java       1458  jboss  440r   REG        8,2      4098   6258830
>> > /var/lucene-index/_1o6i1.cfs (deleted)
>> > java       1458  jboss  441r   REG        8,2      1817   6258821
>> > /var/lucene-index/_1o6i3.cfs (deleted)
>> >
>> > I haven't been monitoring this long enough to tell if the number
>> > simply continues to grow over time or levels off at some point.
>> >
>> > I was wondering if this behavior to be expected? When will the
>> > application release these deleted file handles (if ever)? Perhaps
>> > during garbage collection? Or might I be handling the index
>> > incorrectly in some way?
>> >
>> > Any thoughts appreciated.
>> > -- m@
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to