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