You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael McCandless (JIRA)" <ji...@apache.org> on 2010/08/07 23:49:15 UTC

[jira] Commented: (LUCENE-2118) Intermittent failure in TestIndexWriterMergePolicy.testMaxBufferedDocsChange

    [ https://issues.apache.org/jira/browse/LUCENE-2118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12896287#action_12896287 ] 

Michael McCandless commented on LUCENE-2118:
--------------------------------------------

I found the root cause here; it's a rare case, due to shared doc stores.  Whenever the merge must merge doc stores and at least 1 segment is referencing the currently open shared doc stores, IW must flush.  It's an "unusual" flush because it's triggered by the right merge and not maxBuffereDocs/RAM being consumed.

When this happens we fail to check for newly required merges, which can then leave the index in a state where it needs a merge, causing this failure.

I can't repro this failure, but I think very likely this is the cause.  The fix is to call updatePendingMerges in the two places where we do these "unusual" flushes.  I'll commit shortly.

> Intermittent failure in TestIndexWriterMergePolicy.testMaxBufferedDocsChange
> ----------------------------------------------------------------------------
>
>                 Key: LUCENE-2118
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2118
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 3.1
>            Reporter: Michael McCandless
>            Priority: Minor
>             Fix For: 4.0
>
>
> Last night's build failed from it: http://hudson.zones.apache.org/hudson/job/Lucene-trunk/1019/changes
> Here's the exc:
> {code}
>     [junit] Testcase: testMaxBufferedDocsChange(org.apache.lucene.index.TestIndexWriterMergePolicy):	FAILED
>     [junit] maxMergeDocs=2147483647; numSegments=11; upperBound=10; mergeFactor=10
>     [junit] junit.framework.AssertionFailedError: maxMergeDocs=2147483647; numSegments=11; upperBound=10; mergeFactor=10
>     [junit] 	at org.apache.lucene.index.TestIndexWriterMergePolicy.checkInvariants(TestIndexWriterMergePolicy.java:234)
>     [junit] 	at org.apache.lucene.index.TestIndexWriterMergePolicy.testMaxBufferedDocsChange(TestIndexWriterMergePolicy.java:164)
>     [junit] 	at org.apache.lucene.util.LuceneTestCase.runBare(LuceneTestCase.java:208)
> {code}
> Test doesn't fail if I run on opensolaris nor os X machines...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org