[ https://issues.apache.org/jira/browse/LUCENE-6171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15327898#comment-15327898 ]
Michael McCandless commented on LUCENE-6171: -------------------------------------------- bq. does each update create a new one, perhaps in parallel-index like manner? That's what we do ... we always fully write the new doc values to another file, and stop referencing the old one. > Make lucene completely write-once > --------------------------------- > > Key: LUCENE-6171 > URL: https://issues.apache.org/jira/browse/LUCENE-6171 > Project: Lucene - Core > Issue Type: Bug > Reporter: Robert Muir > Assignee: Michael McCandless > Attachments: LUCENE-6171.patch > > > Today, lucene is mostly write-once, but not always, and these are just very > exceptional cases. > This is an invitation for exceptional bugs: (and we have occasional test > failures when doing "no-wait close" because of this). > I would prefer it if we didn't try to delete files before we open them for > write, and if we opened them with the CREATE_NEW option by default to throw > an exception, if the file already exists. > The trickier parts of the change are going to be IndexFileDeleter and > exceptions on merge / CFS construction logic. > Overall for IndexFileDeleter I think the least invasive option might be to > only delete files older than the current commit point? This will ensure that > inflateGens() always avoids trying to overwrite any files that were from an > aborted segment. > For CFS construction/exceptions on merge, we really need to remove the custom > "sniping" of index files there and let only IndexFileDeleter delete files. My > previous failed approach involved always consistently using > TrackingDirectoryWrapper, but it failed, and only in backwards compatibility > tests, because of LUCENE-6146 (but i could never figure that out). I am > hoping this time I will be successful :) > Longer term we should think about more simplifications, progress has been > made on LUCENE-5987, but I think overall we still try to be a superhero for > exceptions on merge? -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org