You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by Ganesh <em...@yahoo.co.in> on 2008/11/18 11:55:48 UTC
Reopen IndexReader
Hello all,
I am using version 2.4. The following code throws AlreadyClosedException
IndexReader reader = searcher.getIndexReader();
IndexReader newReader = reader.reopen();
if (reader != newReader) {
reader.close();
boolean isCurrent = newReader.isCurrent(); //throws exception
}
Full list of exception:
--------------------
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 MailIndexer.IndexSearcherEx.reOpenDB(IndexSearcherEx.java:102)
Please correct me, if i am wrong.
Regards
Ganesh
Send instant messages to your online friends http://in.messenger.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: Reopen IndexReader
Posted by Cool The Breezer <te...@yahoo.com>.
I had same kind of problem and I somehow managed to find a work around by initializing IndexSearcher from new reader.
try {
IndexReader newReader = reader.reopen();
if (newReader != reader) {
// reader was reopened
reader.close();
reader = null;
}
reader = newReader;
searcher = new IndexSearcher(newReader);
} catch (Exception e) {
e.printStackTrace();
}
--- On Tue, 11/18/08, Michael McCandless <lu...@mikemccandless.com> wrote:
> From: Michael McCandless <lu...@mikemccandless.com>
> Subject: Re: Reopen IndexReader
> To: java-user@lucene.apache.org
> Date: Tuesday, November 18, 2008, 7:52 AM
> Well... we certainly do our best to have each release be
> stable, but we do make mistakes, so you'll have to use
> your own judgement on when to upgrade.
>
> However, it's only through users like yourself
> upgrading that we then find & fix any uncaught issues in
> each new release.
>
> Mike
>
> Ganesh wrote:
>
> > I am creating IndexSearcher using String, this is
> working fine with version 2.3.2.
> > I tried by replacing Directory ctor of IndexSearcher
> and it is working fine with v2.4.
> >
> > I have recently upgraded from v2.3.2 to 2.4. Is v2.4
> stable and i could more forward with this or shall i revert
> back to 2.3.2?
> >
> > Regards
> > Ganesh
> >
> >
> > ----- Original Message ----- From: "Michael
> McCandless" <lu...@mikemccandless.com>
> > To: <ja...@lucene.apache.org>
> > Sent: Tuesday, November 18, 2008 4:59 PM
> > Subject: Re: Reopen IndexReader
> >
> >
> >>
> >> Did you create your IndexSearcher using a String
> or File (not Directory)?
> >>
> >> If so, it sounds like you are hitting this issue
> (just fixed this morning, on 2.9-dev (trunk)):
> >>
> >>
> https://issues.apache.org/jira/browse/LUCENE-1453
> >>
> >> The workaround is to use the Directory ctor of
> IndexSearcher.
> >>
> >> Mike
> >>
> >> Ganesh wrote:
> >>
> >>> Hello all,
> >>>
> >>> I am using version 2.4. The following code
> throws AlreadyClosedException
> >>>
> >>> IndexReader reader =
> searcher.getIndexReader();
> >>> IndexReader newReader = reader.reopen();
> >>> if (reader != newReader) {
> >>> reader.close();
> >>> boolean isCurrent =
> newReader.isCurrent(); //throws exception
> >>> }
> >>>
> >>> Full list of exception:
> >>> --------------------
> >>>
> 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
> MailIndexer.IndexSearcherEx.reOpenDB(IndexSearcherEx.java:
> 102)
> >>>
> >>> Please correct me, if i am wrong.
> >>>
> >>> Regards
> >>> Ganesh
> >>>
> >>> Send instant messages to your online friends
> http://in.messenger.yahoo.com
> >>>
> ---------------------------------------------------------------------
> >>> 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
> >
> > Send instant messages to your online friends
> http://in.messenger.yahoo.com
> >
> ---------------------------------------------------------------------
> > 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
Re: Reopen IndexReader
Posted by Michael McCandless <lu...@mikemccandless.com>.
Well... we certainly do our best to have each release be stable, but
we do make mistakes, so you'll have to use your own judgement on when
to upgrade.
However, it's only through users like yourself upgrading that we then
find & fix any uncaught issues in each new release.
Mike
Ganesh wrote:
> I am creating IndexSearcher using String, this is working fine with
> version 2.3.2.
> I tried by replacing Directory ctor of IndexSearcher and it is
> working fine with v2.4.
>
> I have recently upgraded from v2.3.2 to 2.4. Is v2.4 stable and i
> could more forward with this or shall i revert back to 2.3.2?
>
> Regards
> Ganesh
>
>
> ----- Original Message ----- From: "Michael McCandless" <lucene@mikemccandless.com
> >
> To: <ja...@lucene.apache.org>
> Sent: Tuesday, November 18, 2008 4:59 PM
> Subject: Re: Reopen IndexReader
>
>
>>
>> Did you create your IndexSearcher using a String or File (not
>> Directory)?
>>
>> If so, it sounds like you are hitting this issue (just fixed this
>> morning, on 2.9-dev (trunk)):
>>
>> https://issues.apache.org/jira/browse/LUCENE-1453
>>
>> The workaround is to use the Directory ctor of IndexSearcher.
>>
>> Mike
>>
>> Ganesh wrote:
>>
>>> Hello all,
>>>
>>> I am using version 2.4. The following code throws
>>> AlreadyClosedException
>>>
>>> IndexReader reader = searcher.getIndexReader();
>>> IndexReader newReader = reader.reopen();
>>> if (reader != newReader) {
>>> reader.close();
>>> boolean isCurrent = newReader.isCurrent(); //throws
>>> exception
>>> }
>>>
>>> Full list of exception:
>>> --------------------
>>> 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 MailIndexer.IndexSearcherEx.reOpenDB(IndexSearcherEx.java:
>>> 102)
>>>
>>> Please correct me, if i am wrong.
>>>
>>> Regards
>>> Ganesh
>>>
>>> Send instant messages to your online friends http://in.messenger.yahoo.com
>>> ---------------------------------------------------------------------
>>> 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
>
> Send instant messages to your online friends http://in.messenger.yahoo.com
> ---------------------------------------------------------------------
> 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
Re: Reopen IndexReader
Posted by Ganesh <em...@yahoo.co.in>.
I am creating IndexSearcher using String, this is working fine with version
2.3.2.
I tried by replacing Directory ctor of IndexSearcher and it is working fine
with v2.4.
I have recently upgraded from v2.3.2 to 2.4. Is v2.4 stable and i could more
forward with this or shall i revert back to 2.3.2?
Regards
Ganesh
----- Original Message -----
From: "Michael McCandless" <lu...@mikemccandless.com>
To: <ja...@lucene.apache.org>
Sent: Tuesday, November 18, 2008 4:59 PM
Subject: Re: Reopen IndexReader
>
> Did you create your IndexSearcher using a String or File (not Directory)?
>
> If so, it sounds like you are hitting this issue (just fixed this
> morning, on 2.9-dev (trunk)):
>
> https://issues.apache.org/jira/browse/LUCENE-1453
>
> The workaround is to use the Directory ctor of IndexSearcher.
>
> Mike
>
> Ganesh wrote:
>
>> Hello all,
>>
>> I am using version 2.4. The following code throws AlreadyClosedException
>>
>> IndexReader reader = searcher.getIndexReader();
>> IndexReader newReader = reader.reopen();
>> if (reader != newReader) {
>> reader.close();
>> boolean isCurrent = newReader.isCurrent(); //throws exception
>> }
>>
>> Full list of exception:
>> --------------------
>> 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 MailIndexer.IndexSearcherEx.reOpenDB(IndexSearcherEx.java: 102)
>>
>> Please correct me, if i am wrong.
>>
>> Regards
>> Ganesh
>>
>> Send instant messages to your online friends
>> http://in.messenger.yahoo.com
>> ---------------------------------------------------------------------
>> 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
>
Send instant messages to your online friends http://in.messenger.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: Reopen IndexReader
Posted by Michael McCandless <lu...@mikemccandless.com>.
Did you create your IndexSearcher using a String or File (not
Directory)?
If so, it sounds like you are hitting this issue (just fixed this
morning, on 2.9-dev (trunk)):
https://issues.apache.org/jira/browse/LUCENE-1453
The workaround is to use the Directory ctor of IndexSearcher.
Mike
Ganesh wrote:
> Hello all,
>
> I am using version 2.4. The following code throws
> AlreadyClosedException
>
> IndexReader reader = searcher.getIndexReader();
> IndexReader newReader = reader.reopen();
> if (reader != newReader) {
> reader.close();
> boolean isCurrent = newReader.isCurrent(); //throws
> exception
> }
>
> Full list of exception:
> --------------------
> 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 MailIndexer.IndexSearcherEx.reOpenDB(IndexSearcherEx.java:
> 102)
>
> Please correct me, if i am wrong.
>
> Regards
> Ganesh
>
> Send instant messages to your online friends http://in.messenger.yahoo.com
> ---------------------------------------------------------------------
> 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