[ 
https://issues.apache.org/jira/browse/LUCENE-2956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Simon Willnauer updated LUCENE-2956:
------------------------------------

    Attachment: LUCENE-2956.patch

Attaching an initial patch. This patch uses a entirely non-blocking approach to 
deletes based on a specialized linked list that only uses CAS operations.

Since this issue is quiet complex I tried to add as many useful comments as 
possible inline in the patch to make reviewing easier. So for details check out 
the patch.

All test on realtime branch pass with this patch. (once in a while I have a 
failure in the healthiness test but the assumptions in that test seem to be too 
strict and I need to fix that separately)

Reviews are very very much appreciated!



> 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: Simon Willnauer
>            Priority: Minor
>             Fix For: Realtime Branch
>
>         Attachments: LUCENE-2956.patch
>
>
> 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