memgraph/tests/jepsen
Marko Barišić 2ac649f3b5
Upgrade jepsen (#1594)
* Try with jepsen v0.3.5
* Add a few WIP adjustments
* Add replication restore state on startup flag
* Fix some run.sh scripts issues
* Improve cluster commands
* Run Jepsen on debian-12 with toolchain v5
---------
Co-authored-by: Marko Budiselic <mbudiselicbuda@gmail.com>
2024-03-18 16:38:58 +01:00
..
doc Add Jepsen initialization (#53) 2021-01-21 15:56:21 +01:00
resources Improve logging if replica cannot recover using curr WAL file (#1086) 2023-08-01 10:33:46 +02:00
src/jepsen/memgraph Upgrade jepsen (#1594) 2024-03-18 16:38:58 +01:00
test/jepsen Add Jepsen initialization (#53) 2021-01-21 15:56:21 +01:00
.gitignore Add Jepsen initialization (#53) 2021-01-21 15:56:21 +01:00
CHANGELOG.md Add Jepsen initialization (#53) 2021-01-21 15:56:21 +01:00
project.clj Upgrade jepsen (#1594) 2024-03-18 16:38:58 +01:00
README.md Improve e2e and replication testing setup (#1061) 2023-07-19 21:18:43 +02:00
run.sh Upgrade jepsen (#1594) 2024-03-18 16:38:58 +01:00

Jepsen Memgraph Test Suite

NOTE: Jepsen can only connect to the SSH server on the default 22 port. --node flag only takes the actual address (:port doesn't work).

Jepsen run under CI:

cd tests/jepsen
./run.sh test --binary ../../build/memgraph --run-args "test-all --node-configs resources/node-config.edn" --ignore-run-stdout-logs --ignore-run-stderr-logs

Local run of each test (including setup):

cd tests/jepsen
./run.sh cluster-up
docker exec -it jepsen-control bash
cd memgraph
lein run test --workload bank --node-configs resources/node-config.edn
lein run test --workload large --node-configs resources/node-config.edn

Logs are located under jepsen-control:/jepsen/memgraph/store.

If you setup cluster manually go to jepsen-control Docker container and ssh to all cluster nodes to save their host keys in known_hosts.

docker exec -it jepsen-control bash
ssh n1 -> yes -> exit
ssh n2 -> yes -> exit
ssh n3 -> yes -> exit
ssh n4 -> yes -> exit
ssh n5 -> yes -> exit