[
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)