[
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)