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]

Reply via email to