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

Extract in-jvm API and tests out of Cassandra and into a separate repository

    XMLWordPrintableJSON

    Details

      Description

      Extract in-jvm DTest API and tests into a separate repository that is shared between Cassandra branches. Tests themselves should be buildable using just API, which is not the case now, since cluster creation relies on impl package, since we do not have factories / constructors in API.

      Main goals we’re trying to achieve:
      1. We should be able to fail a build on API incompatibility between versions
      2. Make it as easy as possible to detect break APIs between versions.
      3. Make development of tests based on in-jvm framework simpler
      4. Reduce surface area of impact when making modifications to tests

      Potentially, we’d also like to use a plugin to detect API incompatibilities between in-jvm DTest API and in-branch implementations, and start running tests using shared in-jvm test repository with each existing implementation in the branch. This entails both running tests for all branches whenever there’s a change in tests jar and running tests for a specific branch whenever the branch has changed.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ifesdjeen Alex Petrov
                Reporter:
                ifesdjeen Alex Petrov
                Authors:
                Alex Petrov
                Reviewers:
                David Capwell, Dinesh Joshi
              • Votes:
                1 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 13h 20m
                  13h 20m