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

ASF subversion and git services commented on LUCENE-8384:
---------------------------------------------------------

Commit 7e548ba86032bb9d83f9ff9deba41adcb5151c19 in lucene-solr's branch 
refs/heads/master from [~dnhatn]
[ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=7e548ba ]

LUCENE-8384: Fix missing advance DVGen in PendingSoftDeletes

Today we only advance the docValues update generation in
PendingSoftDeletes for the soft-deletes field. If we update a
soft-deletes DV field, then update a non-soft-deletes DV field, then
onNewReader will consider that we never update DV field although we did.

This commit makes sure that we always advance the docValues update
generation when handling docValues update in PendingSoftDeletes.

Co-authored-by: Simon Willnauer <sim...@apache.org>


> SoftDeleteCount assertion in SoftPendingDeletes violated
> --------------------------------------------------------
>
>                 Key: LUCENE-8384
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8384
>             Project: Lucene - Core
>          Issue Type: Bug
>    Affects Versions: 7.4
>            Reporter: Nhat Nguyen
>            Assignee: Simon Willnauer
>            Priority: Major
>             Fix For: master (8.0), 7.4.1, 7.5.
>
>         Attachments: LUCENE-8384.patch, LUCENE-8384.patch
>
>
> A spinoff from LUCENE-8381. If a soft-deletes docvalues was applied to 
> PendingSoftDeletes already, newDelCount should be less than the softDelCount 
> recorded in SegmentInfo. The attached test trips an assertion in 
> PendingSoftDeletes. I think we need to relax that assertion.
>  
> {noformat}
> java.lang.AssertionError: softDeleteCount doesn't match 1 != 0
>       at 
> __randomizedtesting.SeedInfo.seed([BAC2AFC59AFF8806:167825A6261D33F0]:0)
>       at 
> org.apache.lucene.index.PendingSoftDeletes.onNewReader(PendingSoftDeletes.java:87)
>       at 
> org.apache.lucene.index.ReadersAndUpdates.createNewReaderWithLatestLiveDocs(ReadersAndUpdates.java:651)
>       at 
> org.apache.lucene.index.ReadersAndUpdates.swapNewReaderWithLatestLiveDocs(ReadersAndUpdates.java:663)
>       at 
> org.apache.lucene.index.ReadersAndUpdates.writeFieldUpdates(ReadersAndUpdates.java:619)
>       at 
> org.apache.lucene.index.ReaderPool.writeAllDocValuesUpdates(ReaderPool.java:228)
>       at 
> org.apache.lucene.index.IndexWriter.writeReaderPool(IndexWriter.java:3313)
>       at org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:517)
>       at 
> org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:288)
>       at 
> org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:263)
>       at 
> org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:253)
>       at 
> org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:140)
>       at 
> org.apache.lucene.search.SearcherManager.refreshIfNeeded(SearcherManager.java:156)
>       at 
> org.apache.lucene.search.SearcherManager.refreshIfNeeded(SearcherManager.java:58)
>       at 
> org.apache.lucene.search.ReferenceManager.doMaybeRefresh(ReferenceManager.java:176)
>       at 
> org.apache.lucene.search.ReferenceManager.maybeRefreshBlocking(ReferenceManager.java:253)
>       at 
> org.apache.lucene.index.TestSoftDeletesRetentionMergePolicy.testSoftDeleteWithTryUpdateDocValue(TestSoftDeletesRetentionMergePolicy.java:586)
> {noformat}



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

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

Reply via email to