Thanks Dawid! So my take-away is that this is just pilot error on my part, not something intrinsic to the code.
Erick On Sun, Aug 31, 2014 at 12:46 PM, Dawid Weiss <[email protected]> wrote: > It's because the exception is triggered in a static class > FaultyIndexInput (initialized in a static context > TestFieldsReader#beforeClass). When you ask for -Dtests.iters, only > the tests (methods) are duplicated, the static context remains the > same. So the "count" variable in FaultyIndexInput is actually > propagated from test to test and each repetition is not really atomic/ > isolated from others (search for one of recent e-mail to Ryan, it > contains a deeper information on why and how this works). > > You can repeat the failure if you repeat exactly the same seed for > each repetition (including test methods): > > ant test -Dtestcase=TestFieldsReader > -Dtests.seed=DFB0B84C4D087DFD:1DE75618D1B7C867 -Dtests.slow=true > -Dtests.locale=sr_ME -Dtests.timezone=Asia/Kashgar > -Dtests.file.encoding=UTF-8 -Dtests.iters=10 > > This yields: > > Tests with failures: > - org.apache.lucene.index.TestFieldsReader.testExceptions {#1 > seed=[DFB0B84C4D087DFD:1DE75618D1B7C867]} > - org.apache.lucene.index.TestFieldsReader.testExceptions {#2 > seed=[DFB0B84C4D087DFD:1DE75618D1B7C867]} > - org.apache.lucene.index.TestFieldsReader.testExceptions {#3 > seed=[DFB0B84C4D087DFD:1DE75618D1B7C867]} > - org.apache.lucene.index.TestFieldsReader.testExceptions {#4 > seed=[DFB0B84C4D087DFD:1DE75618D1B7C867]} > - org.apache.lucene.index.TestFieldsReader.testExceptions {#5 > seed=[DFB0B84C4D087DFD:1DE75618D1B7C867]} > - org.apache.lucene.index.TestFieldsReader.testExceptions {#6 > seed=[DFB0B84C4D087DFD:1DE75618D1B7C867]} > - org.apache.lucene.index.TestFieldsReader.testExceptions {#7 > seed=[DFB0B84C4D087DFD:1DE75618D1B7C867]} > - org.apache.lucene.index.TestFieldsReader.testExceptions {#8 > seed=[DFB0B84C4D087DFD:1DE75618D1B7C867]} > - org.apache.lucene.index.TestFieldsReader.testExceptions {#9 > seed=[DFB0B84C4D087DFD:1DE75618D1B7C867]} > > Note I included per-method seed in the -Dtests.seed. Also, #0 > iteration *does pass*; the remaining ones fail because of what I said > above. > > Dawid > > On Sun, Aug 31, 2014 at 6:20 AM, Erick Erickson <[email protected]> > wrote: > > I'm seeing the fairly easily-reproducible error below on trunk. > > Unfortunately it doesn't reproduce with the seed. I'm wondering if anyone > > has an inkling what's going on here? > > > > I did manage to notice that I screwed up the command I was _intending_ > and > > actually issued the command below, although I have a hard time imagining > > that's the problem, unless it's something like running tests.iters on the > > full suite makes this happen. No wonder -Dtests.iters=100 didn't > finish... > > Siiigggghhhh. > > > > ant -Dtestcasae=TestDistributedSearch -Dtests.iters=10 test > > > > Note I spelled 'testcase' as 'testcasae'... > > > > > > Stack trace: > > > > [junit4] Suite: org.apache.lucene.index.TestFieldsReader > > > > [junit4] 2> NOTE: reproduce with: ant test > -Dtestcase=TestFieldsReader > > -Dtests.method=testExceptions -Dtests.seed=DFB0B84C4D087DFD > > -Dtests.slow=true -Dtests.locale=sr_ME -Dtests.timezone=Asia/Kashgar > > -Dtests.file.encoding=UTF-8 > > > > [junit4] ERROR 0.10s J2 | TestFieldsReader.testExceptions {#1 > > seed=[DFB0B84C4D087DFD:1DE75618D1B7C867]} <<< > > > > [junit4] > Throwable #1: java.io.IOException: Simulated network > outage > > > > [junit4] > at > > __randomizedtesting.SeedInfo.seed([DFB0B84C4D087DFD:1DE75618D1B7C867]:0) > > > > [junit4] > at > > > org.apache.lucene.index.TestFieldsReader$FaultyIndexInput.simOutage(TestFieldsReader.java:156) > > > > [junit4] > at > > > org.apache.lucene.index.TestFieldsReader$FaultyIndexInput.readInternal(TestFieldsReader.java:161) > > > > [junit4] > at > > > org.apache.lucene.store.BufferedIndexInput.refill(BufferedIndexInput.java:342) > > > > [junit4] > at > > > org.apache.lucene.store.BufferedIndexInput.readBytes(BufferedIndexInput.java:140) > > > > [junit4] > at > > > org.apache.lucene.store.BufferedIndexInput.readBytes(BufferedIndexInput.java:116) > > > > [junit4] > at > > > org.apache.lucene.store.BufferedChecksumIndexInput.readBytes(BufferedChecksumIndexInput.java:49) > > > > [junit4] > at > > org.apache.lucene.store.DataInput.readString(DataInput.java:234) > > > > [junit4] > at > > org.apache.lucene.store.DataInput.readStringStringMap(DataInput.java:263) > > > > [junit4] > at > > > org.apache.lucene.codecs.lucene46.Lucene46FieldInfosReader.read(Lucene46FieldInfosReader.java:93) > > > > [junit4] > at > > > org.apache.lucene.index.SegmentReader.readFieldInfos(SegmentReader.java:216) > > > > [junit4] > at > > org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:97) > > > > [junit4] > at > > > org.apache.lucene.index.StandardDirectoryReader$1.doBody(StandardDirectoryReader.java:59) > > > > [junit4] > at > > > org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:795) > > > > [junit4] > at > > > org.apache.lucene.index.StandardDirectoryReader.open(StandardDirectoryReader.java:50) > > > > [junit4] > at > > org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:64) > > > > [junit4] > at > > > org.apache.lucene.index.TestFieldsReader.testExceptions(TestFieldsReader.java:209) > > > > [junit4] > at java.lang.Thread.run(Thread.java:745) > > > > [junit4] 2> NOTE: reproduce with: ant test -Dtestcase=TestFieldsReader > > -Dtests.method=testExceptions -Dtests.seed=DFB0B84C4D087DFD > > -Dtests.slow=true -Dtests.locale=sr_ME -Dtests.timezone=Asia/Kashgar > > -Dtests.file.encoding=UTF-8 > > [junit4] ERROR 0.13s J2 | TestFieldsReader.testExceptions {#2 > > seed=[DFB0B84C4D087DFD:930EC0C4807380AC]} <<< > > [junit4] > Throwable #1: java.io.IOException: Simulated network > outage > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
