lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erick Erickson <erickerick...@gmail.com>
Subject Re: deletion of index-files fails
Date Sat, 07 Mar 2009 02:01:12 GMT
OK, I understand now. Like I said, anything you deem appropriate.

Best
Erick

On Fri, Mar 6, 2009 at 5:45 PM, Michael McCandless <
lucene@mikemccandless.com> wrote:

> If we changed the signature (return value) then on dropping in the JAR
> you'd have to recompile your code, which violates our back compat goals, ie
> "drop in JAR and run".
>
> Mike
>
>
> Erick Erickson wrote:
>
>  Why would it break back compat?
>> They just return void now, so
>>
>> IndexReader.incRef();
>>
>> should still compile/run.
>>
>> But that's arguing about angels dancing on pins. My real issue
>> is that by not allowing *some* mechanism to get the refcount
>> developers don't have any tools for figuring out that it's a refcount
>> issue,
>> so exposing getRefCount() would satisfy that need.
>>
>> I'll totally defer to folks who actually maintain code to
>> cast the deciding ballot.
>>
>> Best
>> Erick
>>
>> On Fri, Mar 6, 2009 at 2:10 PM, Michael McCandless <
>> lucene@mikemccandless.com> wrote:
>>
>>
>>> 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 <G>!
>>>>
>>>> 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 <lucene@mikemccandless.com>
>>>>>>
>>>>>>> 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,  <rolarenfan@earthlink.net>
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
>>>
>>>
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message