You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ariel Weisberg (JIRA)" <ji...@apache.org> on 2015/05/13 23:42:01 UTC

[jira] [Commented] (CASSANDRA-9377) Untested commit log code found via code coverage

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

Ariel Weisberg commented on CASSANDRA-9377:
-------------------------------------------

Maybe some redundancy here with CASSANDRA-9162, but have unit test coverage for the CL is also desirable.

> Untested commit log code found via code coverage
> ------------------------------------------------
>
>                 Key: CASSANDRA-9377
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9377
>             Project: Cassandra
>          Issue Type: Test
>            Reporter: Ariel Weisberg
>         Attachments: jacoco.tgz
>
>
> 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
> {noformat}
> CommitLogTest
> CommitLogFailurePolicyTest
> RecoveryManagerTest
> RecoveryManager2Test
> RecoveryManager3Test
> CommitLogStressTest
> {noformat}
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)