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

Nhat Nguyen commented on LUCENE-8381:
-------------------------------------

[~simonw] Thanks for looking and providing a solution for this.

I continue your patch to optimize the way we calculate numDocs. The calculation 
now loops over only the soft-deleted docs, not all docs (please see 
LUCENE-8381-inline.patch).

Another option that I see is to pass the hardLiveDocs to the soft-deletes merge 
policy. This approach is cleaner but requires other custom MP to handle the 
hard-deletes by itself (please see LUCENE-8381-merge.patch).

> PendingSoftDeletes#onNewReader should adjust soft-delete count
> --------------------------------------------------------------
>
>                 Key: LUCENE-8381
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8381
>             Project: Lucene - Core
>          Issue Type: Bug
>    Affects Versions: 7.4
>            Reporter: Nhat Nguyen
>            Assignee: Simon Willnauer
>            Priority: Major
>             Fix For: master (8.0), 7.5, 7.4.1
>
>         Attachments: LUCENE-8381-inline.patch, LUCENE-8381-merge.patch, 
> LUCENE-8381.patch, LUCENE-8381.patch, merge-soft-hard-deletes.patch
>
>
> The current PendingSoftDeletes#onNewReader does not handle these two edge 
> cases correctly.
>  # If the soft-deletes DV was applied to PendingSoftDeletes already, 
> newDelCount should be less than the soft delete count recorded in 
> SegmentInfo. testSoftDeleteWithTryUpdateDocValue trips the newSoftDelCount 
> assertion.
>  # If the soft-deleted docs were hard-deleted, we should reduce the 
> softDelCount in the segmentInfo on a new reader.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to