Committed changes to the test. I tried few thousands iters w/ random seeds
and it didn't break.

Shai


On Mon, Sep 30, 2013 at 9:28 AM, Shai Erera <[email protected]> wrote:

> another way would be to disable merging and just issue tons and tons
>> and tons of updates and reopen and ... the test either passes or hits
>> OOM and runs out of open files?
>>
>
> That's what testStressMultithreading sort of does already (that's how we
> discovered this bug).
>
> I'd like to have a very simple, deterministic and quick test which asserts
> that. Do you see a problem w/ comparing dir.listAll().length? I don't
> suppose a Codec will decide to write 2 files on the first update and 3
> files on the second, right?
>
> Shai
>
>
> On Mon, Sep 30, 2013 at 7:45 AM, Robert Muir <[email protected]> wrote:
>
>> another way would be to disable merging and just issue tons and tons
>> and tons of updates and reopen and ... the test either passes or hits
>> OOM and runs out of open files? :)
>>
>> but seriously we could force MockDir to have a limited size in bytes
>> (e.g. 5MB) and do something like this, if there is a bug it will hit
>> disk full?
>>
>> On Mon, Sep 30, 2013 at 12:32 AM, Shai Erera <[email protected]> wrote:
>> > The problem is that the test uses SimpleTextCodec, which creates the
>> field
>> > infos files w/ .inf extension and not .fnm. As I suspected on the issue,
>> > asserting on the existence of .fnm files is fragile and not generic
>> enough.
>> > I'll think of a better way to assert that, maybe by comparing the
>> number of
>> > files in the directory after the first and second commits?
>> >
>> > Shai
>> >
>> >
>> > On Mon, Sep 30, 2013 at 3:36 AM, <[email protected]> wrote:
>> >>
>> >> Build:
>> >> builds.flonkings.com/job/Lucene-trunk-Linux-Java7-64-test-only/59424/
>> >>
>> >> 1 tests failed.
>> >> REGRESSION:
>> >>
>> org.apache.lucene.index.TestNumericDocValuesUpdates.testDeleteUnusedUpdatesFiles
>> >>
>> >> Error Message:
>> >>
>> >>
>> >> Stack Trace:
>> >> java.lang.AssertionError
>> >>         at
>> >>
>> __randomizedtesting.SeedInfo.seed([7A986DE169C6A52E:5856DC94C0A0256E]:0)
>> >>         at org.junit.Assert.fail(Assert.java:92)
>> >>         at org.junit.Assert.assertTrue(Assert.java:43)
>> >>         at org.junit.Assert.assertTrue(Assert.java:54)
>> >>         at
>> >>
>> org.apache.lucene.index.TestNumericDocValuesUpdates.testDeleteUnusedUpdatesFiles(TestNumericDocValuesUpdates.java:1201)
>> >>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >>         at
>> >>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> >>         at
>> >>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >>         at java.lang.reflect.Method.invoke(Method.java:601)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1559)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.RandomizedRunner.access$600(RandomizedRunner.java:79)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:737)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:773)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:787)
>> >>         at
>> >>
>> org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:50)
>> >>         at
>> >>
>> org.apache.lucene.util.TestRuleFieldCacheSanity$1.evaluate(TestRuleFieldCacheSanity.java:51)
>> >>         at
>> >>
>> org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:46)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.rules.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:55)
>> >>         at
>> >>
>> org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:49)
>> >>         at
>> >>
>> org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:70)
>> >>         at
>> >>
>> org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:48)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:358)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:782)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:442)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:746)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.RandomizedRunner$3.evaluate(RandomizedRunner.java:648)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.RandomizedRunner$4.evaluate(RandomizedRunner.java:682)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:693)
>> >>         at
>> >>
>> org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:46)
>> >>         at
>> >>
>> org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:42)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.rules.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:55)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:39)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:39)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>> >>         at
>> >>
>> org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:43)
>> >>         at
>> >>
>> org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:48)
>> >>         at
>> >>
>> org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:70)
>> >>         at
>> >>
>> org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:55)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>> >>         at
>> >>
>> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:358)
>> >>         at java.lang.Thread.run(Thread.java:722)
>> >>
>> >>
>> >>
>> >>
>> >> Build Log:
>> >> [...truncated 1339 lines...]
>> >>    [junit4] Suite: org.apache.lucene.index.TestNumericDocValuesUpdates
>> >>    [junit4]   2> NOTE: reproduce with: ant test
>> >> -Dtestcase=TestNumericDocValuesUpdates
>> >> -Dtests.method=testDeleteUnusedUpdatesFiles
>> -Dtests.seed=7A986DE169C6A52E
>> >> -Dtests.slow=true -Dtests.locale=ru_RU -Dtests.timezone=Asia/Bahrain
>> >> -Dtests.file.encoding=UTF-8
>> >>    [junit4] FAILURE 0.05s J6 |
>> >> TestNumericDocValuesUpdates.testDeleteUnusedUpdatesFiles <<<
>> >>    [junit4]    > Throwable #1: java.lang.AssertionError
>> >>    [junit4]    >        at
>> >>
>> __randomizedtesting.SeedInfo.seed([7A986DE169C6A52E:5856DC94C0A0256E]:0)
>> >>    [junit4]    >        at
>> >>
>> org.apache.lucene.index.TestNumericDocValuesUpdates.testDeleteUnusedUpdatesFiles(TestNumericDocValuesUpdates.java:1201)
>> >>    [junit4]    >        at java.lang.Thread.run(Thread.java:722)
>> >>    [junit4]   2> NOTE: test params are: codec=SimpleText,
>> >> sim=RandomSimilarityProvider(queryNorm=true,coord=crazy): {},
>> locale=ru_RU,
>> >> timezone=Asia/Bahrain
>> >>    [junit4]   2> NOTE: Linux 3.2.0-26-generic amd64/Oracle Corporation
>> >> 1.7.0_05 (64-bit)/cpus=8,threads=1,free=93972400,total=172359680
>> >>    [junit4]   2> NOTE: All tests run in this JVM:
>> >> [TestSpanSearchEquivalence, TestQueryWrapperFilter, TestTermVectors,
>> >> TestCompressingStoredFieldsFormat, TestPrefixFilter, TestSetOnce,
>> >> TestNumericUtils, TestBlockPostingsFormat, TestDocIdBitSet,
>> >> TestLucene40TermVectorsFormat, Nested, Nested, TestAutomatonQuery,
>> >> TestFilterIterator, TestDoubleBarrelLRUCache, TestBinaryTerms,
>> >> TestSpanMultiTermQueryWrapper, TestUniqueTermCount, TestPrefixRandom,
>> >> TestUTF32ToUTF8, Nested1, TestHighCompressionMode, TestBasics,
>> TestBoolean2,
>> >> TestGraphTokenizers, TestSloppyPhraseQuery,
>> TestConcurrentMergeScheduler,
>> >> TestParallelCompositeReader, TestTransactions,
>> TestPerFieldPostingsFormat2,
>> >> TestSimilarityBase, TestFlex, TestDocsAndPositions, TestMultiFields,
>> >> TestFuzzyQuery, TestNoDeletionPolicy, TestTopDocsCollector,
>> >> TestComplexExplanationsOfNonMatches, TestDocument, TestIndexableField,
>> >> TestElevationComparator, TestDateSort, ThrowInUncaught,
>> TestAttributeSource,
>> >> TestIsCurrent, Nested1, TestExplanations, TestIndexCommit, Test2BTerms,
>> >> TestNumericDocValuesUpdates]
>> >>    [junit4] Completed on J6 in 6.56s, 26 tests, 1 failure <<< FAILURES!
>> >>
>> >> [...truncated 16 lines...]
>> >> BUILD FAILED
>> >>
>> >>
>> /var/lib/jenkins/workspace/Lucene-trunk-Linux-Java7-64-test-only/checkout/lucene/build.xml:49:
>> >> The following error occurred while executing this line:
>> >>
>> >>
>> /var/lib/jenkins/workspace/Lucene-trunk-Linux-Java7-64-test-only/checkout/lucene/common-build.xml:1230:
>> >> The following error occurred while executing this line:
>> >>
>> >>
>> /var/lib/jenkins/workspace/Lucene-trunk-Linux-Java7-64-test-only/checkout/lucene/common-build.xml:873:
>> >> There were test failures: 368 suites, 2615 tests, 1 failure, 74
>> ignored (61
>> >> assumptions)
>> >>
>> >> Total time: 4 minutes 44 seconds
>> >> Build step 'Invoke Ant' marked build as failure
>> >> Archiving artifacts
>> >> Recording test results
>> >> Email was triggered for: Failure
>> >> Sending email for trigger: Failure
>> >>
>> >>
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: [email protected]
>> >> For additional commands, e-mail: [email protected]
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>

Reply via email to