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

              ifesdjeen Alex Petrov
              ifesdjeen Alex Petrov
              Alex Petrov
              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 - 14h
                  14h