Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-9377

Untested commit log code found via code coverage

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Normal
    • Resolution: Unresolved
    • None
    • Legacy/Testing
    • 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

        1. jacoco.tgz
          5.52 MB
          Ariel Weisberg

        Issue Links

          Activity

            People

              Unassigned Unassigned
              aweisberg Ariel Weisberg
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: