lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Willnauer (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LUCENE-3348) IndexWriter applies wrong deletes during concurrent flush-all
Date Tue, 09 Aug 2011 10:24:27 GMT

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

Simon Willnauer commented on LUCENE-3348:
-----------------------------------------

Committed to trunk in revision 1155278.
I backported the test to 3.x and it failed. Maybe something is wrong with the test though,
I will dig! Here is the failure: 

{noformat}
    [junit] ------------- Standard Output ---------------
    [junit] FAIL: hits id:34 val=-38
    [junit]   docID=43 id:-34 foundVal=38
    [junit] READER3: FAILED: unexpected exception
    [junit] java.lang.AssertionError: id=34 reader=ReadOnlyDirectoryReader(segments_q _2l(3.4):cv62/13
_2p(3.4):Cv6 _2o(3.4):cv47) totalHits=2
    [junit] 	at org.junit.Assert.fail(Assert.java:91)
    [junit] 	at org.apache.lucene.index.TestStressNRT$2.run(TestStressNRT.java:345)
    [junit] FAIL: hits id:25 val=39
    [junit]   docID=24 id:25 foundVal=39
    [junit]   docID=85 id:25 foundVal=43
    [junit] READER1: FAILED: unexpected exception
    [junit] java.lang.AssertionError: id=25 reader=ReadOnlyDirectoryReader(segments_q _2l(3.4):cv62/13
_2p(3.4):Cv6 _2o(3.4):cv47) totalHits=2
    [junit] 	at org.junit.Assert.fail(Assert.java:91)
    [junit] 	at org.apache.lucene.index.TestStressNRT$2.run(TestStressNRT.java:345)
    [junit] ------------- ---------------- ---------------
    [junit] ------------- Standard Error -----------------
    [junit] NOTE: reproduce with: ant test -Dtestcase=TestStressNRT -Dtestmethod=test -Dtests.seed=-78c35b20c01ed2f8:-292d76adf99900e2:3f7c8696906a10c7
    [junit] NOTE: reproduce with: ant test -Dtestcase=TestStressNRT -Dtestmethod=test -Dtests.seed=-78c35b20c01ed2f8:-292d76adf99900e2:3f7c8696906a10c7
    [junit] The following exceptions were thrown by threads:
    [junit] *** Thread: READER3 ***
    [junit] java.lang.RuntimeException: java.lang.AssertionError: id=34 reader=ReadOnlyDirectoryReader(segments_q
_2l(3.4):cv62/13 _2p(3.4):Cv6 _2o(3.4):cv47) totalHits=2
    [junit] 	at org.apache.lucene.index.TestStressNRT$2.run(TestStressNRT.java:360)
    [junit] Caused by: java.lang.AssertionError: id=34 reader=ReadOnlyDirectoryReader(segments_q
_2l(3.4):cv62/13 _2p(3.4):Cv6 _2o(3.4):cv47) totalHits=2
    [junit] 	at org.junit.Assert.fail(Assert.java:91)
    [junit] 	at org.apache.lucene.index.TestStressNRT$2.run(TestStressNRT.java:345)
    [junit] *** Thread: READER1 ***
    [junit] java.lang.RuntimeException: java.lang.AssertionError: id=25 reader=ReadOnlyDirectoryReader(segments_q
_2l(3.4):cv62/13 _2p(3.4):Cv6 _2o(3.4):cv47) totalHits=2
    [junit] 	at org.apache.lucene.index.TestStressNRT$2.run(TestStressNRT.java:360)
    [junit] Caused by: java.lang.AssertionError: id=25 reader=ReadOnlyDirectoryReader(segments_q
_2l(3.4):cv62/13 _2p(3.4):Cv6 _2o(3.4):cv47) totalHits=2
    [junit] 	at org.junit.Assert.fail(Assert.java:91)
    [junit] 	at org.apache.lucene.index.TestStressNRT$2.run(TestStressNRT.java:345)
    [junit] NOTE: test params are: locale=fr_BE, timezone=EET
    [junit] NOTE: all tests run in this JVM:
    [junit] [TestCharFilter, TestClassicAnalyzer, TestKeywordAnalyzer, TestStandardAnalyzer,
TestBinaryDocument, TestAtomicUpdate, TestConcurrentMergeScheduler, TestDeletionPolicy, TestDirectoryReader,
TestDoc, TestLazyProxSkipping, TestMultiLevelSkipList, TestPerSegmentDeletes, TestSameTokenSamePosition,
TestStressNRT]
    [junit] NOTE: Linux 2.6.35-30-generic amd64/Sun Microsystems Inc. 1.6.0_26 (64-bit)/cpus=12,threads=1,free=286656336,total=352714752
    [junit] ------------- ---------------- ---------------

{noformat}

> IndexWriter applies wrong deletes during concurrent flush-all
> -------------------------------------------------------------
>
>                 Key: LUCENE-3348
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3348
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: core/index
>            Reporter: Michael McCandless
>            Assignee: Simon Willnauer
>             Fix For: 3.4, 4.0
>
>         Attachments: LUCENE-3348.patch, LUCENE-3348.patch, LUCENE-3348.patch, LUCENE-3348.patch,
LUCENE-3348.patch, LUCENE-3348.patch, fail.txt.bz2, fail2.txt.bz2
>
>
> Yonik uncovered this with the TestRealTimeGet test: if a flush-all is
> underway, it is possible for an incoming update to pick a DWPT that is
> stale, ie, not yet pulled/marked for flushing, yet the DW has cutover
> to a new deletes queue.  If this happens, and the deleted term was
> also updated in one of the non-stale DWPTs, then the wrong document is
> deleted and the test fails by detecting the wrong value.
> There's a 2nd failure mode that I haven't figured out yet, whereby 2
> docs are returned when searching by id (there should only ever be 1
> doc since the test uses updateDocument which is atomic wrt
> commit/reopen).
> Yonik verified the test passes pre-DWPT, so my guess is (but I
> have yet to verify) this test also passes on 3.x.  I'll backport
> the test to 3.x to be sure.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


Mime
View raw message