I think this is a bug in LUCENE-4323.
I'm suspicious this option is working as documented: these directories
are only a few KB but its kicking in even though the limit is like
8MB.
So the following patch prevents the issue (other disk full tests might
need it to), but I dont want to commit this until someone can confirm
setMaxCFSSegmentSizeMB is actually working in MB!
Index: src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
===================================================================
--- src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java
(revision
1376894)
+++ src/test/org/apache/lucene/index/TestIndexWriterOnDiskFull.java (working
copy)
@@ -249,7 +249,9 @@
// Make a new dir that will enforce disk usage:
MockDirectoryWrapper dir = new MockDirectoryWrapper(random(),
new RAMDirectory(startDir, newIOContext(random())));
- writer = new IndexWriter(dir,
newIndexWriterConfig(TEST_VERSION_CURRENT, new
MockAnalyzer(random())).setOpenMode(OpenMode.APPEND).setMergePolicy(newLogMergePolicy()));
+ LogMergePolicy mp = newLogMergePolicy();
+ mp.setMaxCFSSegmentSizeMB(Double.POSITIVE_INFINITY);
+ writer = new IndexWriter(dir,
newIndexWriterConfig(TEST_VERSION_CURRENT, new
MockAnalyzer(random())).setOpenMode(OpenMode.APPEND).setMergePolicy(mp));
IOException err = null;
MergeScheduler ms = writer.getConfig().getMergeScheduler();
On Fri, Aug 24, 2012 at 2:55 AM, Dawid Weiss
<[email protected]> wrote:
> Don't know what this is -- should we file an issue?
>
> [junit4:junit4] Suite: org.apache.lucene.index.TestIndexWriterOnDiskFull
> [junit4:junit4] 2> NOTE: reproduce with: ant test
> -Dtestcase=TestIndexWriterOnDiskFull
> -Dtests.method=testAddIndexOnDiskFull -Dtests.seed=17160CAE40DA6C29
> -Dtests.slow=true -Dtests.locale=hr_HR -Dtests.timezone=Etc/GMT+12
> -Dtests.file.encoding=UTF-8
> [junit4:junit4] FAILURE 1.67s J6 |
> TestIndexWriterOnDiskFull.testAddIndexOnDiskFull <<<
> [junit4:junit4] > Throwable #1: java.lang.AssertionError: max free
> Directory space required exceeded 1X the total input index sizes
> during addIndexes(Directory[]) + forceMerge(1): max temp usage = 31193
> bytes vs limit=30618; starting disk usage = 4882 bytes; input index
> disk usage = 10427 bytes
> [junit4:junit4] > at
> __randomizedtesting.SeedInfo.seed([17160CAE40DA6C29:6BC9BD910D6BC49E]:0)
> [junit4:junit4] > at org.junit.Assert.fail(Assert.java:93)
> [junit4:junit4] > at org.junit.Assert.assertTrue(Assert.java:43)
> [junit4:junit4] > at
> org.apache.lucene.index.TestIndexWriterOnDiskFull.testAddIndexOnDiskFull(TestIndexWriterOnDiskFull.java:424)
> [junit4:junit4] > at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [junit4:junit4] > at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [junit4:junit4] > at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [junit4:junit4] > at java.lang.reflect.Method.invoke(Method.java:601)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1559)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.RandomizedRunner.access$600(RandomizedRunner.java:79)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:737)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:773)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:787)
> [junit4:junit4] > at
> org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:50)
> [junit4:junit4] > at
> org.apache.lucene.util.TestRuleFieldCacheSanity$1.evaluate(TestRuleFieldCacheSanity.java:51)
> [junit4:junit4] > at
> org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.rules.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:55)
> [junit4:junit4] > at
> org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:48)
> [junit4:junit4] > at
> org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:70)
> [junit4:junit4] > at
> org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:48)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:345)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:769)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:429)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:746)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.RandomizedRunner$3.evaluate(RandomizedRunner.java:648)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.RandomizedRunner$4.evaluate(RandomizedRunner.java:682)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:693)
> [junit4:junit4] > at
> org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
> [junit4:junit4] > at
> org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:42)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.rules.SystemPropertiesInvariantRule$1.evaluate(SystemPropertiesInvariantRule.java:55)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:39)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:39)
> [junit4:junit4] > at
> org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:40)
> [junit4:junit4] > at
> org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:48)
> [junit4:junit4] > at
> org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:70)
> [junit4:junit4] > at
> org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:55)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
> [junit4:junit4] > at
> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:345)
> [junit4:junit4] > at java.lang.Thread.run(Thread.java:722)
> [junit4:junit4] 2> NOTE: test params are: codec=Asserting,
> sim=RandomSimilarityProvider(queryNorm=true,coord=crazy): {id=DFR
> I(ne)1, f=IB SPL-LZ(0.3), content=IB SPL-L2, field=DFR I(ne)2},
> locale=hr_HR, timezone=Etc/GMT+12
> [junit4:junit4] 2> NOTE: Linux 3.2.0-26-generic amd64/Oracle
> Corporation 1.7.0_05
> (64-bit)/cpus=8,threads=1,free=159881760,total=262406144
> [junit4:junit4] 2> NOTE: All tests run in this JVM:
> [TestLucene40PostingsReader, Nested3, Nested1, Nested2,
> TestStressAdvance, TestCollectionUtil, TestIndexWriterOnDiskFull]
> [junit4:junit4] Completed on J6 in 4.36s, 4 tests, 1 failure <<< FAILURES!
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
--
lucidworks.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]