|
Note: if I reduce the test to indexing with a single thread, it still fails.
Map docs = indexRandom(1, 50, 50, dir1); The test still does the indexing in a different thread than the close(), so it's not quite a single threaded test. Another thing to note: all of the terms are matching up (the test succeeds if I don't test the stored fields). Uh oh ... I'll take this!
Thanks Mike!
Attaching new version of test that correctly deals with terms with no docs (because of deletions). Note that it's possible to trigger this bug by indexing only 3 documents: I love random testing Yes this is one awesome test case
Thanks. I just sent email to java-user to give a heads up on this.
Attach patch fixes the issue. All tests pass. I think we should spin 2.3.1 for this one? Patch looks good (heh... a one liner!)
At least it won't break previously working code since autoCommit=true is the default. The only risk is people trying out the new setting and not realizing it can break things. 2.3.1 might be nice, but I'll leave to others (who have the actual time to do the work) to decide. Hold up a bit... my random testing may have hit another bug....
testMultiConfig hit an error at some point when I cranked up the iterations... I'm trying to reproduce. Backported to 2.3.
Yeah the worst ones always seem to be one-liner fixes. Sigh.
I'll go dig on that one next. Committed to 2.3 & trunk.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
With autoCommit=true, the test passes. Change it to false and it fails.
The test basic uses multiple threads to update documents. The last document for any id is kept, and then all these docs are indexed again serially. The two indicies are them compared.