Hi Satoshi;
I troubled shooted a problem similar to this by moving around a
IndexReader.isLocked(indexFileLocation) to determine exactly when the reader
was closed.
Note: the method throws an error if the index file doesn't exist that you
are checking on.
Luke
----- Original Message -----
From: "Satoshi Hasegawa" <[EMAIL PROTECTED]>
To: "Lucene Users List" <[EMAIL PROTECTED]>
Sent: Monday, November 15, 2004 8:25 PM
Subject: Is opening IndexReader multiple times safe?
> Hello,
>
> I need to handle IOExceptions that arise from index access
> (IndexReader#open, #delete, IndexWriter#optimize etc.), and I'm not sure
if
> the IndexReader is open when the exception is thrown/caught. Specifically,
> my code is as follows.
>
> try {
> indexReader.delete(term);
> indexReader.close();
> IndexWriter indexWriter = new IndexWriter(fsDirectory,
> new JapaneseAnalyzer(), false);
> indexWriter.optimize();
> indexWriter.close();
> } catch (Exception e) {
> // IndexReader may or may not be open
> indexReader = IndexReader.open(path);
> indexReader.undelete();
> }
>
> Is the above code safe? IndexReader may already be open at the beginning
of
> the catch clause if the exception was thrown before closing the
IndexReader.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]