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

Ruslan Fomkin commented on CASSANDRA-16951:
-------------------------------------------

I am always for reducing testing time and it is great initiative.

I have some concerns regarding the implementation.
- I believe that it is quite common that tests in the same test class will want 
to use the same cluster reuse setting. E.g., all of them will reuse the same 
cluster. This is already clearly demonstrated in the PR. Thus requiring each 
test to be marked is not great UX. 
- The implementation of processing marks already allows to set mark on a class 
instead of methods. I guess it can lead to unexpected behaviour due to the 
requirement to specify `new_cluster=True` in the first test.
- I would argue for implementing meta testing of the functionality, which will 
cover corner cases such no specification of `new_cluster=True` at all, marks on 
just classes, or `new_cluster=True` specified not on the first method of the 
class sharing cluster.

Is it possible to have a convention that all tests from the same class or file 
will share the same cluster by default?

Let me know if I missed UX proposal somewhere which covers my concerns.

> Dtest cluster reusage
> ---------------------
>
>                 Key: CASSANDRA-16951
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16951
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Test/dtest/python
>            Reporter: Berenguer Blasi
>            Assignee: Berenguer Blasi
>            Priority: Normal
>             Fix For: 4.0.x
>
>
> Dtests are very heavy but in some instances most of the time is spent 
> restarting nodes in between test methods. Not all of them, but many seem 
> could benefit form reusing a common cluster sparing the restarts. Obviously 
> that is not the case for tests that manipulate the nodes itself during the 
> test. The ones that follow a setup node/do test seem to benefit greatly in 
> terms of time execution.
> Some classes run time can be cut form 10m to 1,5m. Others only from 30m to 
> 25m. But taking a 5m shave and considering it will probably get ran * 
> with/without vnodes * j8/j11/j8j11 * 4.0/trunk turns the 5m cut into a 60m 
> cut. That should be a nice reduction in CI usage. Unfortunately run time will 
> mostly remain the same until we have a majority of tests reusing nodes as the 
> 'longest pole' will be the determining factor.
> How it works? It's an opt-in. Annotate the first test with 
> {{@reuse_cluster(new_cluster=True)}} and the following ones with 
> {{@reuse_cluster}}. Best effort to reuse the cluster will be made. Stop using 
> the annotation at any test method and it will start a new one.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to