[ 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