[ 
https://issues.apache.org/jira/browse/IGNITE-29280?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Maksim Davydov updated IGNITE-29280:
------------------------------------
    Description: 
Ducktests stop a node under load, or return a node to an idle cluster, but none 
returns a node while transactions keep running. 

This adds a test that stops a baseline server of a persistent cluster under 
transactional load (graceful stop, kill, crash), starts it again, and checks 
that the load keeps going while the node is away, that the node rejoins with 
partition exchange completing within a bound, that it catches up from its WAL 
rather than copying partitions in full, that the load has no errors after the 
join, and that the data stays consistent. 

One case runs a load that holds an explicit lock around each transaction, as 
real applications do, and checks that these locks slow neither the join's 
exchange nor the load. For this the continuous load application gets two opt-in 
modes: a progress line with the successful and failed operations every second, 
and the explicit-lock mode. The framework gets a helper that gives the load's 
successful and failed operations and its longest stall in a time window, and a 
helper that sends a signal to a node's Ignite process, needed for the crash 
case. Both modes are off by default, so existing tests see no change. Test code 
only.

  was:Ducktests stop a node under load, or return a node to an idle cluster, 
but none returns a node while transactions keep running. This adds a test that 
stops a baseline server of a persistent cluster under transactional load 
(graceful stop, kill, crash), starts it again, and checks that the load keeps 
going while the node is away, that the node rejoins with partition exchange 
completing within a bound, that it catches up from its WAL rather than copying 
partitions in full, that the load has no errors after the join, and that the 
data stays consistent. One case runs a load that holds explicit locks around 
its transactions, as real applications do, so the join's exchange meets a held 
lock. For this the continuous load application gets two opt-in modes: a 
progress line with successful and failed operations every second, and the 
explicit-lock mode. The framework gets a helper that gives the load's rate and 
longest stall in a time window, and a helper that sends a signal to a node's 
Ignite process, needed for the crash case. Both modes are off by default, so 
existing tests see no change. Test code only.


> [ducktests] Add a test for a persistent server node stopped and returned 
> under transactional load
> -------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-29280
>                 URL: https://issues.apache.org/jira/browse/IGNITE-29280
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Maksim Davydov
>            Assignee: Maksim Davydov
>            Priority: Minor
>
> Ducktests stop a node under load, or return a node to an idle cluster, but 
> none returns a node while transactions keep running. 
> This adds a test that stops a baseline server of a persistent cluster under 
> transactional load (graceful stop, kill, crash), starts it again, and checks 
> that the load keeps going while the node is away, that the node rejoins with 
> partition exchange completing within a bound, that it catches up from its WAL 
> rather than copying partitions in full, that the load has no errors after the 
> join, and that the data stays consistent. 
> One case runs a load that holds an explicit lock around each transaction, as 
> real applications do, and checks that these locks slow neither the join's 
> exchange nor the load. For this the continuous load application gets two 
> opt-in modes: a progress line with the successful and failed operations every 
> second, and the explicit-lock mode. The framework gets a helper that gives 
> the load's successful and failed operations and its longest stall in a time 
> window, and a helper that sends a signal to a node's Ignite process, needed 
> for the crash case. Both modes are off by default, so existing tests see no 
> change. Test code only.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to