[ 
https://issues.apache.org/jira/browse/LUCENE-2956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13004818#comment-13004818
 ] 

Michael Busch commented on LUCENE-2956:
---------------------------------------

An idea from Mike how to fix this problem:

{quote}
To avoid the full-stop, I think during the flush we can have two global delete 
pools. We carefully sweep all DWPTs and flush each, in succession. Any DWPT not 
yet flushed is free to continue indexing as normal, putting deletes into the 
first global pool, flushing as normal. But, a DWPT that has been flushed by the 
"sweeper" must instead put deletes for an updateDocument carefully into the 2nd 
pool, and not buffer the delete into DWPTs not yet flushed.
{quote}

> Support updateDocument() with DWPTs
> -----------------------------------
>
>                 Key: LUCENE-2956
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2956
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: Realtime Branch
>            Reporter: Michael Busch
>            Assignee: Michael Busch
>            Priority: Minor
>             Fix For: Realtime Branch
>
>
> With separate DocumentsWriterPerThreads (DWPT) it can currently happen that 
> the delete part of an updateDocument() is flushed and committed separately 
> from the corresponding new document.
> We need to make sure that updateDocument() is always an atomic operation from 
> a IW.commit() and IW.getReader() perspective.  See LUCENE-2324 for more 
> details.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Reply via email to