Maksim Davydov created IGNITE-29165:
---------------------------------------
Summary: [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
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}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)