IndexReader.open(String|File) may incorrectly throw AlreadyClosedException --------------------------------------------------------------------------
Key: LUCENE-1430 URL: https://issues.apache.org/jira/browse/LUCENE-1430 Project: Lucene - Java Issue Type: Bug Components: Index Affects Versions: 2.4, 2.3.2, 2.3.1, 2.3, 2.2, 2.1 Reporter: Michael McCandless Assignee: Michael McCandless Priority: Minor Fix For: 2.9 Spinoff from here: http://www.nabble.com/Runtime-exception-when-creating-IndexSearcher-to20226279.html If you open an IndexSearcher/Reader, passing in String or File, then closeDirectory is set to true in the reader. If the index has a single segment, then SegmentReader.get is used to open the index. If an IOException is hit in there, the SegmentReader closes itself and then closes the directory since closeDirectory is true. The problem is, the retry logic in SegmentInfos (to look for another segments_N to try) kicks in and hits an AlreadyClosedException, masking the original root cause. Workaround is to separately get the Directory using FSDirectory.getDirectory, and then instantiate IndexSearcher/Reader from that. This manifests as masking the root cause of a corrupted single-segment index with a confusing AlreadyClosedException. You could also hit the false exception if the writer was in the process of committing (ie, a retry was really needed) or if there is some transient IO problem opening the index (eg too many open files). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]