You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael McCandless (JIRA)" <ji...@apache.org> on 2014/08/27 10:30:59 UTC

[jira] [Created] (LUCENE-5910) Cutover to Java7 nio APIS to improve SegmentInfos fallback logic

Michael McCandless created LUCENE-5910:
------------------------------------------

             Summary: Cutover to Java7 nio APIS to improve SegmentInfos fallback logic
                 Key: LUCENE-5910
                 URL: https://issues.apache.org/jira/browse/LUCENE-5910
             Project: Lucene - Core
          Issue Type: Improvement
            Reporter: Michael McCandless


Spinoff from LUCENE-5904 ...

Today we have crazy logic (SegmentInfos.FindSegmentsFile) to try to locate the "latest" segments_N file from the index directory, even while a writer commits (writes a new segments_N+1 and removes the old one) concurrently while we try to open a DirectoryReader on the index.

But it's scary because it catches any IOException and assumes that segments_N was no good and tries to find an older one to load.

Really it should be more picky, and only fall back e.g. if it hit EOFE, or if one of the SegmentReaders hit FNFE, and for other exceptions e.g. transient problems like "out of file desctriptors" or OOME or "access denied" it should immediately throw these back to caller instead of falling back which risks losing documents in the index.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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