[
https://issues.apache.org/jira/browse/LUCENE-992?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12525271
]
Ning Li commented on LUCENE-992:
--------------------------------
The patch looks good! A few comments and/or observations:
- addDocument(Document doc, Analyzer analyzer, Term delTerm): is it better to
name it updateDocument?
- I didn't check all the variable accesses in DocumentsWriter, but it seems
abort() should lock for some of the variables it accesses. Or make abort() a
synchronized method.
- Observation: Large documents will block small documents from being flushed
if addDocument of large documents is called before that of small ones. This is
not the case before LUCENE-843.
> I also slightly changed the exception semantics in IndexWriter:
> previously if a disk full (or other) exception was hit when flushing
> the buffered docs, the buffered deletes were retained but the
> partially flushed buffered docs (if any) were discarded.
- Observation: Before LUCENE-843, both buffered docs and buffered deletes
were retained when such an exception occurs. Now both buffered docs and
buffered deletes would be discared if an exception is hit.
> IndexWriter.updateDocument is no longer atomic
> ----------------------------------------------
>
> Key: LUCENE-992
> URL: https://issues.apache.org/jira/browse/LUCENE-992
> Project: Lucene - Java
> Issue Type: Bug
> Components: Index
> Affects Versions: 2.2
> Reporter: Michael McCandless
> Assignee: Michael McCandless
> Priority: Minor
> Fix For: 2.3
>
> Attachments: LUCENE-992.patch
>
>
> Spinoff from LUCENE-847.
> Ning caught that as of LUCENE-843, we lost the atomicity of the delete
> + add in IndexWriter.updateDocument.
> Ning suggested a simple fix: move the buffered deletes into
> DocumentsWriter and let it do the delete + add atomically. This has a
> nice side effect of also consolidating the "time to flush" logic in
> DocumentsWriter.
--
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]