[ 
https://issues.apache.org/jira/browse/CASSANDRA-7084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benedict updated CASSANDRA-7084:
--------------------------------

    Attachment: 7084.txt

This can only be a race condition on the resetting of the CL and one of the 
tests writing to a CF that is flushing a CLS. I haven't investigated thoroughly 
to pinpoint the exact cause because it's not an actual application bug - I've 
simply introduced two separate measures to avoid the problem, and it fixes the 
issue on my box. Firstly, I force the tests to run in order, so that work from 
one of the real tests does not cause the initial recover to be run whilst flush 
work is still outstanding; and secondly I introduce a sleep and stronger guard 
for testing CL work is still outstanding during resetUnsafe. This is still not 
perfectly safe as we could have something on the memtable flusher for longer 
than this that then sneaks through, but it should be sufficient for all 
practical intents.

> o.a.c.db.RecoveryManagerTest.testNothingToRecover Unit Test Flaps in 2.0
> ------------------------------------------------------------------------
>
>                 Key: CASSANDRA-7084
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7084
>             Project: Cassandra
>          Issue Type: Test
>          Components: Tests
>            Reporter: Michael Shuler
>            Assignee: Benedict
>            Priority: Minor
>             Fix For: 2.0.8
>
>         Attachments: 7084.txt
>
>
> Example:
>   http://cassci.datastax.com/job/cassandra-2.0_utest/326/
> (this test appears to pass consistently in 1.2 and 2.1 with a quick glance - 
> will test out the other branches more thoroughly and bisect)
> {noformat}
> REGRESSION:  org.apache.cassandra.db.RecoveryManagerTest.testNothingToRecover
> Error Message:
> java.io.FileNotFoundException: 
> /var/lib/jenkins/jobs/cassandra-2.0_test/workspace/build/test/cassandra/commitlog/CommitLog-3-1398354429966.log
>  (No such file or directory)
> Stack Trace:
> java.lang.RuntimeException: java.io.FileNotFoundException: 
> /var/lib/jenkins/jobs/cassandra-2.0_test/workspace/build/test/cassandra/commitlog/CommitLog-3-1398354429966.log
>  (No such file or directory)
>       at 
> org.apache.cassandra.io.util.RandomAccessReader.open(RandomAccessReader.java:102)
>       at 
> org.apache.cassandra.io.util.RandomAccessReader.open(RandomAccessReader.java:90)
>       at 
> org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:186)
>       at 
> org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:95)
>       at 
> org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:151)
>       at 
> org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:131)
>       at 
> org.apache.cassandra.db.RecoveryManagerTest.testNothingToRecover(RecoveryManagerTest.java:42)
> Caused by: java.io.FileNotFoundException: 
> /var/lib/jenkins/jobs/cassandra-2.0_test/workspace/build/test/cassandra/commitlog/CommitLog-3-1398354429966.log
>  (No such file or directory)
>       at java.io.RandomAccessFile.open(Native Method)
>       at java.io.RandomAccessFile.<init>(RandomAccessFile.java:241)
>       at 
> org.apache.cassandra.io.util.RandomAccessReader.<init>(RandomAccessReader.java:58)
>       at 
> org.apache.cassandra.io.util.RandomAccessReader.open(RandomAccessReader.java:98)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to