[ 
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]

Reply via email to