Hi,

this is not a leak, lsof will report "deleted" files with filehandles still 
open, when at the time when the changes were committed by IndexWriter, in 
parallel another IndexReader is open, that stays on an older snapshot of the 
files. In that case, this IndexReader still uses files, not yet completely 
deleted by the file system (inode is still there, but directory entry is 
already deleted).
You have to use IndexReader.openIfChanged() or open a completely new instance 
with IndexReader.open() to get an updated view on the index after committing 
changes to IndexWriter. Don't forget to close the old IndexReader! If you don't 
do this, the older snapshot view is still references, preventing files from 
being completely deleted and disappearing from lsof.

Uwe

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: u...@thetaphi.de


> -----Original Message-----
> From: Jiajun Chen [mailto:cjjvict...@gmail.com]
> Sent: Thursday, September 13, 2012 6:36 AM
> To: general@lucene.apache.org
> Subject: file handle leaks appearing on Index files
> 
> heapdump show the instance of IndexReader hava 164 at Thu Sep 13 12:04:00
> CST 2012.
> 
> 
> $ lsof  |grep deleted
> 
> reports the following:
> ......
> java      13436 uu 5086r      REG                9,4       7573  79311898
> /var/index/full/20120910/_v68n.fdt (deleted)
> java      13436 uu 5087r      REG                9,4       2340  79311970
> /var/index/full/20120910/_v68n.fdx (deleted)
> java      13436 uu 5088r      REG                9,4       2058  79311887
> /var/index/full/20120910/_v68o.fdt (deleted)
> java      13436 uu 5089r      REG                9,4        636  79311854
> /var/index/full/20120910/_v68o.fdx (deleted)
> java      13436 uu 5090w     REG                9,4       8038  79312040
> /var/index/full/20120910/_v68p.fdt (deleted)
> java      13436 uu 5091r      REG                9,4       2476  79312050
> /var/index/full/20120910/_v68p.fdx (deleted)
> java      13436 uu 5092r      REG                9,4       7015  79312087
> /var/index/full/20120910/_v68q.fdt (deleted)
> java      13436 uu 5093r      REG                9,4       2332  79312091
> /var/index/full/20120910/_v68q.fdx (deleted)
> java      13436 uu 5094r      REG                9,4        648  79312128
> /var/index/full/20120910/_v68r.fdt (deleted) .....
> 
> $ lsof  |grep deleted |wc -l ;date
> 
> reports the following:
> 
> 494
> Wed Sep 12 23:11:40 CST 2012
> 
> 506
> Wed Sep 12 23:22:57 CST 2012
> 
> 560
> Wed Sep 12 23:34:56 CST 2012
> 
> 560
> Wed Sep 12 23:46:29 CST 2012
> 
> 560
> Wed Sep 12 23:49:56 CST 2012
> 
> 566
> Wed Sep 12 23:56:08 CST 2012
> 
> 4275
> Thu Sep 13 12:04:00 CST 2012

Reply via email to