Details
-
Improvement
-
Status: Open
-
Normal
-
Resolution: Unresolved
-
None
-
None
Description
It took some doing but I was finally able to extract coverage for just the unit tests that test the commit log. Attached is the jacoco output as well as the build.xml I used to get test-compression and test to run just the commit log tests.
This includes
CommitLogTest CommitLogFailurePolicyTest RecoveryManagerTest RecoveryManager2Test RecoveryManager3Test CommitLogStressTest
All tests were run with and without test-compression.
Coverage is pretty good for some things with the missing coverage being exceptional paths for things like files that aren't doing anything exceptional in the tests.
ReplayPosition implements equals and hashCode but has no coverage.
CommitLogSegment.waitForFinalSync has no coverage.
CommitLogDescriptor.fromFileName and fromHeader. CommitLogDescriptor implements several equals methods that are not fully tested and also doesn't implement hashCode to match the equality changes.
CommitLog does not cover handleCommitError, nor forceRecyle*
CommitLogReplayer is not well off. Not worth enumerating the issues just a lot of error handling that is untested.
CommitLogArchiver is in poor shape with no coverage for maybeRestoreArchive().
CommitLogSegmentManager has a few important looking functions with 0 coverage.
Attachments
Attachments
Issue Links
- Is contained by
-
CASSANDRA-9012 Triage missing test coverage
- Open
- relates to
-
CASSANDRA-9162 Randomized correctness testing for commit log subsystem, and memtable interaction
- Open