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

Tomasz Lasica edited comment on CASSANDRA-16951 at 9/16/21, 11:43 AM:
----------------------------------------------------------------------

Is the "first" in below definition the first to be executed == the one with 
alphabetically first name?

>  Annotate the first test with {{@reuse_cluster(new_cluster=True)}} and the 
>following ones with {{@reuse_cluster}}

Does it mean that if a new test case is added we should make sure we move the 
marker if a new case name is before the current "first" one?

What will happen if a test marked with {{@reuse_cluster}} got run before the 
one with (newCluster=True) e.g. because a subset of tests is selected or test 
is skipped?

 

I am also not sure (without reading the code) if the proposed solution has any 
guarantees on isolation e.g. which nodes are stopped / started, what keyspaces 
exist etc.  It is not explicitly described in the ticket so I suppose there are 
no guarantees? Possibly not in the scope of this ticket => test author needs to 
make sure every test case will cleanup to some extent...

 


was (Author: tomasz.lasica):
Is the "first" in below definition the first to be executed == the one with 
alphabetically first name?

>  Annotate the first test with {{@reuse_cluster(new_cluster=True)}} and the 
>following ones with {{@reuse_cluster}}

Does it mean that if a new test case is added we should make sure we move the 
marker if a new case name is before the current "first" one?

What will happen if a test marked with {{@reuse_cluster}} got run before the 
one with (newCluster=True) e.g. because a subset of tests is selected or test 
is skipped?

 

I am also not sure (without reading the code) if the proposed solution has any 
guarantees on isolation e.g. which nodes are stopped / started, what keyspaces 
exist etc.  It is not explicitly described in the ticket so I suppose there are 
no guarantees? Possibly not in the scope of this ticket?

> 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