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

Simon Willnauer edited comment on LUCENE-8384 at 7/4/18 2:52 PM:
-----------------------------------------------------------------

here is a different patch. There are some issues with how we handle the DV 
update. We also need to record the generation if the field isn't a soft deletes 
field. But I am starting to wonder why we advance this generation every time a 
new update is handled in ReadersAndUpdates#handleDVUpdates I wonder if we can 
try to optimize this, it would be interesting to see if we can merge them in 
memory first. But maybe I am missing something


was (Author: simonw):
here is a different patch. There are some issues with how we handle the DV 
update. We also need to record the generation if the field isn't a soft deletes 
field. But I am starting to wonder why we advance this generation every time a 
new update is handeled in ReadersAndUpdates#handleDVUpdates 

> 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