[
https://issues.apache.org/jira/browse/IGNITE-29165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maksim Davydov updated IGNITE-29165:
------------------------------------
Description:
Ducktests can't run a node on a size-limited disk, so nothing reproduces what a
node does when one of its volumes fills up. This issue adds that support and
one reproducer per volume.
h3. Reproducers
{{disk_full_test.py}} fills one volume of a persistent server node under a
thin-client load. The node runs with {{IgniteNodeSpecFileOutput}}.
||Full volume||What the node does||
|logs: the log4j2 log, {{console.log}}, {{gc.log}}|keeps serving puts,
{{control.sh --state}} answers ACTIVE; the log and {{console.log}} lose the
lines written while full and grow again once space is freed|
|logs, filled by a service on the node that writes to {{System.out}}|keeps
serving puts, {{control.sh --state}} answers ACTIVE; {{System.out}} drops the
lines once the volume is full, and the service keeps writing|
|JFR repository|the JVM exits: "An irrecoverable error in Jfr"|
|one volume for the logs and all the data|the failure handler stops the node|
|WAL|keeps serving puts: segments are preallocated|
|WAL archive|the failure handler stops the node: SYSTEM_WORKER_TERMINATION,
"Failed to archive WAL segment"|
|partitions|the failure handler stops the node: CRITICAL_ERROR,
StorageException|
|work, with the binary metadata|the failure handler stops the node:
CRITICAL_ERROR, BinaryMetadataFileStore|
|WAL archive, filled by CDC with no consumer and no
{{cdcWalDirectoryMaxSize}}|the failure handler stops the node:
SYSTEM_WORKER_TERMINATION|
The tests are ignored by default. To run them:
{code}
./docker/run_tests.sh -n 4 -gj '{"disk_full_tests": true}' -t
./ignitetest/tests/disk_full_test.py
{code}
was:
Ducktests can't run a node on a size-limited disk, so nothing reproduces what a
node does when one of its volumes fills up. This issue adds that support and
one reproducer per volume.
h3. Reproducers
{{disk_full_test.py}} fills one volume of a persistent server node under a
thin-client load. The node runs with {{IgniteNodeSpecFileOutput}}.
||Full volume||What the node does||
|logs: the log4j2 log, {{console.log}}, {{gc.log}}|keeps serving puts,
{{control.sh --state}} answers ACTIVE; the log and {{console.log}} lose the
lines written while full and grow again once space is freed|
|logs, filled by a service that writes to {{System.out}}|[TBD: after the run]|
|JFR repository|the JVM exits: "An irrecoverable error in Jfr"|
|one volume for the logs and all the data|the failure handler stops the node|
|WAL|keeps serving puts: segments are preallocated|
|WAL archive|the failure handler stops the node: SYSTEM_WORKER_TERMINATION,
"Failed to archive WAL segment"|
|partitions|the failure handler stops the node: CRITICAL_ERROR,
StorageException|
|work, with the binary metadata|the failure handler stops the node:
CRITICAL_ERROR, BinaryMetadataFileStore|
|WAL archive, filled by CDC with no consumer and no
{{cdcWalDirectoryMaxSize}}|the failure handler stops the node:
SYSTEM_WORKER_TERMINATION|
The tests are ignored by default. To run them:
{code}
./docker/run_tests.sh -gj '{"disk_full_tests": true}' -t
./ignitetest/tests/disk_full_test.py
{code}
> [ducktests] Add reproducers of a full disk volume under a server node
> ---------------------------------------------------------------------
>
> Key: IGNITE-29165
> URL: https://issues.apache.org/jira/browse/IGNITE-29165
> Project: Ignite
> Issue Type: Test
> Reporter: Maksim Davydov
> Assignee: Maksim Davydov
> Priority: Minor
>
> Ducktests can't run a node on a size-limited disk, so nothing reproduces what
> a node does when one of its volumes fills up. This issue adds that support
> and one reproducer per volume.
> h3. Reproducers
> {{disk_full_test.py}} fills one volume of a persistent server node under a
> thin-client load. The node runs with {{IgniteNodeSpecFileOutput}}.
> ||Full volume||What the node does||
> |logs: the log4j2 log, {{console.log}}, {{gc.log}}|keeps serving puts,
> {{control.sh --state}} answers ACTIVE; the log and {{console.log}} lose the
> lines written while full and grow again once space is freed|
> |logs, filled by a service on the node that writes to {{System.out}}|keeps
> serving puts, {{control.sh --state}} answers ACTIVE; {{System.out}} drops the
> lines once the volume is full, and the service keeps writing|
> |JFR repository|the JVM exits: "An irrecoverable error in Jfr"|
> |one volume for the logs and all the data|the failure handler stops the node|
> |WAL|keeps serving puts: segments are preallocated|
> |WAL archive|the failure handler stops the node: SYSTEM_WORKER_TERMINATION,
> "Failed to archive WAL segment"|
> |partitions|the failure handler stops the node: CRITICAL_ERROR,
> StorageException|
> |work, with the binary metadata|the failure handler stops the node:
> CRITICAL_ERROR, BinaryMetadataFileStore|
> |WAL archive, filled by CDC with no consumer and no
> {{cdcWalDirectoryMaxSize}}|the failure handler stops the node:
> SYSTEM_WORKER_TERMINATION|
> The tests are ignored by default. To run them:
> {code}
> ./docker/run_tests.sh -n 4 -gj '{"disk_full_tests": true}' -t
> ./ignitetest/tests/disk_full_test.py
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)