[
https://issues.apache.org/jira/browse/LUCENE-7344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hoss Man updated LUCENE-7344:
-----------------------------
Attachment: LUCENE-7344.patch
bq. I briefly reviewed the test, but not thoroughly (I intend to). However,
notice that committing (hard/soft ; commit/NRT) completely avoids the problem
because a commit/NRT already means flushing DV updates. So if that's what this
test does, I don't think it's going to expose the problem.
Understood -- but i was trying to write a generally robust randomized test that
could sometimes commit (incase that uncovered otherproblems), not just a test
targetting this specific problem (we already have that)
Reading through teh output, I realized the reason I wasn't seeing any failures
even after man many runs was because the spread of unique values in the DV
field (Long.MIN_VALUE to Long.MAX_VALUE) was just too large relative the size
of the ranges i was using for the deletes.
I refactored the code int oa helper method that is now called from multiple
tests -- so {{testBiasedMixOfRandomUpdates}} should now be functionally
equivilent to what it was before this patch, but now we also have new test
methods like {{testBiasedMixOfRandomUpdatesWithNarrowValuesAndDeletes}}
(-1000L to 1000L), {{testBiasedMixOfRandomUpdatesWithDeletesAndCommits}} (using
the full spectrum of valid Longs),
{{testBiasedMixOfRandomUpdatesWithCommitsAndLotsOfDeletes}} (using the full
spectrum of valid Longs, but really hammering with lots of deletes), etc...
I also added in more checks of the expected values using NRT readers
periodically (every 100 ops)
It's now easy to get failures (and AFAICT that are failure due to the
bug/patch, not just silly test mistakes)
----
What this doesn't yet have (because it didn't occur to be me, because it hasn't
come up yet in how Solr is trying to use updateNumericDocValue()) is tests that
interleave multiple updateNumericDocValue() calls that affect _multiple_
overlapping sets of docs, with deleteDocuments() calls that affect _subsets_ of
those documents (eg: delete by BooleanQuery that wraps a DocValuesRangeQuery
and another mandatory clause) ... i'll try tackling that next.
> Deletion by query of uncommitted docs not working with DV updates
> -----------------------------------------------------------------
>
> Key: LUCENE-7344
> URL: https://issues.apache.org/jira/browse/LUCENE-7344
> Project: Lucene - Core
> Issue Type: Bug
> Reporter: Ishan Chattopadhyaya
> Attachments: LUCENE-7344.patch, LUCENE-7344.patch, LUCENE-7344.patch,
> LUCENE-7344.patch
>
>
> When DVs are updated, delete by query doesn't work with the updated DV value.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]