[ 
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]

Reply via email to