jepsen: errors in reg2 workload under investigation

This commit is contained in:
Alex Auvolat
2023-10-20 12:56:45 +02:00
parent 4ba18ce9cc
commit 4b93ce179a
3 changed files with 41 additions and 17 deletions
+2 -1
View File
@@ -15,7 +15,8 @@
(def workloads
"A map of workload names to functions that construct workloads, given opts."
{"reg" reg/workload
{"reg1" reg/workload1
"reg2" reg/workload2
"set1" set/workload1
"set2" set/workload2})
+20 -10
View File
@@ -103,18 +103,10 @@
valid? (empty? (:bad-reads final))]
(assoc final :valid? valid?)))))
(defn workload
"Tests linearizable reads and writes"
(defn workload-common
"Common parts of workload"
[opts]
{:client (RegClient. nil)
:checker (independent/checker
(checker/compose
{:reg-read-after-write (reg-read-after-write)
; linear test is desactivated, indeed Garage is not linear
;:linear (checker/linearizable
; {:model (model/register)
; :algorithm :linear})
:timeline (timeline/html)}))
:generator (independent/concurrent-generator
10
(range)
@@ -123,4 +115,22 @@
(gen/mix [op-get op-put op-del])
(gen/limit (:ops-per-key opts)))))})
(defn workload1
"Tests linearizable reads and writes"
[opts]
(assoc (workload-common opts)
:checker (independent/checker
(checker/compose
{:linear (checker/linearizable
{:model (model/register)
:algorithm :linear})
:timeline (timeline/html)}))))
(defn workload2
"Tests CRDT reads and writes"
[opts]
(assoc (workload-common opts)
:checker (independent/checker
(checker/compose
{:reg-read-after-write (reg-read-after-write)
:timeline (timeline/html)}))))