You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Alex Petrov (Jira)" <ji...@apache.org> on 2020/02/05 16:48:00 UTC

[jira] [Comment Edited] (CASSANDRA-15539) Extract in-jvm API and tests out of Cassandra and into a separate repository

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

Alex Petrov edited comment on CASSANDRA-15539 at 2/5/20 4:47 PM:
-----------------------------------------------------------------

Posting a simplified version of the patch for review/preview:

|[patch|https://github.com/apache/cassandra/pull/437]|[ci|https://circleci.com/gh/ifesdjeen/cassandra/tree/CASSANDRA-15539-trunk-oss]|

A small review guide / what will be different "in real life":

1. To simplify (p)review, {{api}} and {{shared}} packages are still in Cassanrda repository. In future they will be outside, since this is the whole point of the patch. I've tried to come up with a guide where one would compile two repos locally against each other, but that wasn't very friendly, so here we are.
2. {{migrated}} package contains migrated tests. By the time the patch is ready, all tests that can be shared between the versions, will be migrated, but since changes required for migration are mosly mechanical, I thought we can start before the rest of them are there.

cc [~dcapwell] [~djoshi] [~drohrer] [~mck] 


was (Author: ifesdjeen):
cc [~dcapwell] [~djoshi] [~drohrer] [~mck] 

> Extract in-jvm API and tests out of Cassandra and into a separate repository
> ----------------------------------------------------------------------------
>
>                 Key: CASSANDRA-15539
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15539
>             Project: Cassandra
>          Issue Type: Task
>          Components: Test/dtest
>            Reporter: Alex Petrov
>            Assignee: Alex Petrov
>            Priority: Normal
>
> 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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org