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