aboutsummaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2023-10-25 14:43:24 +0200
committerAlex Auvolat <alex@adnab.me>2023-10-25 14:43:24 +0200
commit5b1f50be65c251a1dc0a4358c706c409f17a82c0 (patch)
tree979c421f54baa259b4510423bcafe41b99feb6b1 /script
parent9df7fa0bcd8b00dee5926fe7778853d857b5636d (diff)
downloadgarage-5b1f50be65c251a1dc0a4358c706c409f17a82c0.tar.gz
garage-5b1f50be65c251a1dc0a4358c706c409f17a82c0.zip
jepsen: testing
Diffstat (limited to 'script')
-rw-r--r--script/jepsen.garage/README.md6
-rw-r--r--script/jepsen.garage/src/jepsen/garage.clj1
-rw-r--r--script/jepsen.garage/src/jepsen/garage/nemesis.clj9
3 files changed, 13 insertions, 3 deletions
diff --git a/script/jepsen.garage/README.md b/script/jepsen.garage/README.md
index 0d647c72..464da4da 100644
--- a/script/jepsen.garage/README.md
+++ b/script/jepsen.garage/README.md
@@ -97,10 +97,10 @@ Command: `lein run test --nodes-file nodes.vagrant --time-limit 60 --rate 100 -
Results:
-- For now, no failures with clock-scramble nemesis + partition nemesis -> TODO long test run
+- No failures with clock-scramble nemesis + db nemesis + partition nemesis (`--scenario cdp`) (0 failures in 10 runs).
-- **Fails with layout reconfiguration nemesis** (`--scenario r`).
- Example of a failed run: `garage set2/20231025T115033.553+0200` (2 failures in 2 runs).
+- **Fails with just layout reconfiguration nemesis** (`--scenario r`).
+ Example of a failed run: `garage set2/20231025T141940.198+0200` (10 failures in 10 runs).
TODO: investigate.
This is the failure mode we are looking for and trying to fix for NLnet task 3.
diff --git a/script/jepsen.garage/src/jepsen/garage.clj b/script/jepsen.garage/src/jepsen/garage.clj
index 3fe527a6..17363c9d 100644
--- a/script/jepsen.garage/src/jepsen/garage.clj
+++ b/script/jepsen.garage/src/jepsen/garage.clj
@@ -28,6 +28,7 @@
"r" grgNemesis/scenario-r
"pr" grgNemesis/scenario-pr
"cpr" grgNemesis/scenario-cpr
+ "cdp" grgNemesis/scenario-cdp
"dpr" grgNemesis/scenario-dpr})
(def patches
diff --git a/script/jepsen.garage/src/jepsen/garage/nemesis.clj b/script/jepsen.garage/src/jepsen/garage/nemesis.clj
index 0222e463..dfce0255 100644
--- a/script/jepsen.garage/src/jepsen/garage/nemesis.clj
+++ b/script/jepsen.garage/src/jepsen/garage/nemesis.clj
@@ -124,6 +124,14 @@
(combined/partition-package {:db (:db opts), :interval 1, :faults #{:partition}})
(reconfiguration-package {:interval 1})]))
+(defn scenario-cdp
+ "Clock modifying + db + partition scenario"
+ [opts]
+ (combined/compose-packages
+ [(combined/clock-package {:db (:db opts), :interval 1, :faults #{:clock}})
+ (combined/db-package {:db (:db opts), :interval 1, :faults #{:db :pause :kill}})
+ (combined/partition-package {:db (:db opts), :interval 1, :faults #{:partition}})]))
+
(defn scenario-dpr
"Db + partition + cluster reconfiguration scenario"
[opts]
@@ -131,3 +139,4 @@
[(combined/db-package {:db (:db opts), :interval 1, :faults #{:db :pause :kill}})
(combined/partition-package {:db (:db opts), :interval 1, :faults #{:partition}})
(reconfiguration-package {:interval 1})]))
+