Return-Path: Delivered-To: apmail-lucene-java-user-archive@www.apache.org Received: (qmail 35412 invoked from network); 6 Mar 2009 19:11:27 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 6 Mar 2009 19:11:27 -0000 Received: (qmail 29140 invoked by uid 500); 6 Mar 2009 19:11:19 -0000 Delivered-To: apmail-lucene-java-user-archive@lucene.apache.org Received: (qmail 29117 invoked by uid 500); 6 Mar 2009 19:11:19 -0000 Mailing-List: contact java-user-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-user@lucene.apache.org Delivered-To: mailing list java-user@lucene.apache.org Received: (qmail 29106 invoked by uid 99); 6 Mar 2009 19:11:19 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Mar 2009 11:11:19 -0800 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [209.85.198.228] (HELO rv-out-0506.google.com) (209.85.198.228) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 06 Mar 2009 19:11:10 +0000 Received: by rv-out-0506.google.com with SMTP id k40so784468rvb.5 for ; Fri, 06 Mar 2009 11:10:48 -0800 (PST) Received: by 10.115.79.8 with SMTP id g8mr1702883wal.65.1236366647824; Fri, 06 Mar 2009 11:10:47 -0800 (PST) Received: from ?10.17.4.4? (pool-173-48-164-75.bstnma.fios.verizon.net [173.48.164.75]) by mx.google.com with ESMTPS id t1sm3847225poh.21.2009.03.06.11.10.46 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 06 Mar 2009 11:10:47 -0800 (PST) Message-Id: From: Michael McCandless To: java-user@lucene.apache.org In-Reply-To: <359a92830903060917i3a4ca92ag37db313fd01c2161@mail.gmail.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.3) Subject: Re: deletion of index-files fails Date: Fri, 6 Mar 2009 14:10:44 -0500 References: <28511746.1236353754628.JavaMail.root@elwamui-milano.atl.sa.earthlink.net> <714CF382-5702-48CF-A438-935B944E4DCF@mikemccandless.com> <359a92830903060917i3a4ca92ag37db313fd01c2161@mail.gmail.com> X-Mailer: Apple Mail (2.930.3) X-Virus-Checked: Checked by ClamAV on apache.org Yes ref counts are tricky, though these are expert APIs. I think changing close, incRef, decRef to return the RC would be good, though that breaks back compat. How about exposing getRefCount() instead? Mike Erick Erickson wrote: > Hmmmm, reference counting is always yucky. I looked > the IndexReader javadocs over and there isn't any help > there for managing refcounts. You can't find the current > refcount, close doesn't indicate the results, etc. Or I > missed, for the Nth time, perfectly obvious documentation. > > What do people think about one or more of these options? > 1> have IndexReader.close() return some indication > of what the resulting refcount is. I.e. "did the reader > *really* close. > 2> have decRef do the same. > 3> have incRef do the same (although this seems less useful). > > > It's really, really hard to insure your reference counting is > correct solely by code inspection ! > > yeah, yeah, yeah, this probably belongs on the dev list. > I'll be happy to put it over there and/or raise a JIRA... > > Best > Erick > > On Fri, Mar 6, 2009 at 11:40 AM, Michael McCandless < > lucene@mikemccandless.com> wrote: > >> >> OK, phew! Thanks for bringing closure. >> >> Mike >> >> >> rolarenfan@earthlink.net wrote: >> >> I did just now double/triple-check: the IndexWriter is definitely >> closed. >>> >>> However (cough), I did have a bogus call to >>> IndexReader.incRef() ... once >>> I removed that, the call to IndexReader.close() actually worked >>> and then the >>> deletion did so too. Thanks; sorry to trouble you. >>> >>> -Paul >>> >>> -----Original Message----- >>> >>>> From: Michael McCandless >>>> Sent: Mar 6, 2009 4:23 AM >>>> To: java-user@lucene.apache.org >>>> Cc: rolarenfan@earthlink.net >>>> Subject: Re: deletion of index-files fails >>>> >>>> >>>> If truly the IndexWriter & all IndexReaders are closed, then they >>>> should no longer be holding open files. Maybe triple check that >>>> you've indeed closed everything. >>>> >>>> It's remotely possible that some other process (virus checker, >>>> source >>>> control clients, etc) has the file open. >>>> >>>> You could try Microsoft's (formerly sysinternals) "Process >>>> Monitor" to >>>> see which processes have the files open. >>>> >>>> Mike >>>> >>>> Ian Lea wrote: >>>> >>>> What OS are you running? What version of lucene? Are you sure >>>> that >>>>> you have privilege to delete the files that it is failing on? That >>>>> they are part of the index you are trying to remove? That >>>>> something >>>>> else doesn't have the files open? >>>>> >>>>> It seems likely that you are on Windows and that something is >>>>> holding >>>>> on to the files. I believe that Windows won't let you delete open >>>>> files. You could try calling File.deleteOnExit() for the index >>>>> files. >>>>> >>>>> >>>>> -- >>>>> Ian. >>>>> >>>>> >>>>> On Fri, Mar 6, 2009 at 2:19 AM, wrote: >>>>> >>>>>> So, I have a (small) Lucene index, all fine; I use it a bit, and >>>>>> then (on app shutdown) want to delete its files and the >>>>>> containing >>>>>> directory (the index is intended as a temp object). At some >>>>>> earlier >>>>>> time this was working just fine, using java.io.File.delete(). Now >>>>>> however, some of the files get deleted (segments*) whereas others >>>>>> fail (no Exn is thrown, just java.io.File.delete() returns false: >>>>>> _0.cfs, _0.cfx). I've tried closing the IndexReader (no >>>>>> IndexWriter >>>>>> exists at shutdown), but that makes no diff. >>>>>> >>>>>> Any ideas? >>>>>> >>>>>> thanks >>>>>> Paul >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org >>>>>> For additional commands, e-mail: java-user-help@lucene.apache.org >>>>>> >>>>>> >>>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org >>>>> For additional commands, e-mail: java-user-help@lucene.apache.org >>>>> >>>>> >>>> >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org >>> For additional commands, e-mail: java-user-help@lucene.apache.org >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org >> For additional commands, e-mail: java-user-help@lucene.apache.org >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org For additional commands, e-mail: java-user-help@lucene.apache.org