Hi !

I just upgraded from Lucene 2.3.2 to Lucene 2.4.0.
I've been using IndexReader.reopen() with 2.3.2 just fine for a long time now.

With 2.4.0, reopening the same index (hence, a 2.3.2 index), I'm getting spurious AlreadyClosedExceptions thrown from inside reopen():

 "trace": "org.apache.lucene.store.AlreadyClosedException: this Directory is 
closed
        at org.apache.lucene.store.Directory.ensureOpen(Directory.java:220)
        at org.apache.lucene.store.FSDirectory.list(FSDirectory.java:320)
        at 
org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:533)
        at 
org.apache.lucene.index.SegmentInfos.readCurrentVersion(SegmentInfos.java:366)
        at 
org.apache.lucene.index.DirectoryIndexReader.isCurrent(DirectoryIndexReader.java:188)
        at 
org.apache.lucene.index.DirectoryIndexReader.reopen(DirectoryIndexReader.java:124)

Is the javadoc about this method still correct ? That is, do I need to close
the old reader instance manually after reopen() returned a new instance as
is stated there ?
This is what I was doing in 2.3.2 (and am still doing in 2.4.0).

If I remove the close() call I don't get the error anymore but won't that leak ? Or is the javadoc for IndexReader.reopen() just wrong ?

Andi..

ps: that javadoc uses a variable called 'new'. Isn't that a java keyword ?
http://lucene.apache.org/java/2_4_0/api/core/org/apache/lucene/index/IndexReader.html

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to