jepsen: investigating listobjects error

This commit is contained in:
Alex Auvolat
2023-10-19 16:45:24 +02:00
parent 74e50edddd
commit da8b170748
5 changed files with 39 additions and 10 deletions
@@ -53,7 +53,8 @@
"api_bind_addr = \"0.0.0.0:3902\"\n"
"[admin]\n"
"api_bind_addr = \"0.0.0.0:3903\"\n"
"admin_token = \"" admin-token "\"\n")
"admin_token = \"" admin-token "\"\n"
"trace_sink = \"http://192.168.56.1:4317\"\n")
"/etc/garage.toml"))))
(defn connect-node!
@@ -94,7 +95,8 @@
(cu/start-daemon!
{:logfile logfile
:pidfile pidfile
:chdir base-dir}
:chdir base-dir
:env {:RUST_LOG "garage=debug,garage_api=trace"}}
binary
:server)
(c/exec :sleep 3)
@@ -113,6 +115,7 @@
(info node "tearing down garage" version)
(c/su
(cu/stop-daemon! binary pidfile)
(c/exec :rm :-rf logfile)
(c/exec :rm :-rf data-dir)
(c/exec :rm :-rf meta-dir)))
@@ -42,6 +42,7 @@
new-object-summaries (:object-summaries list-result)
new-objects (map (fn [d] (:key d)) new-object-summaries)
objects (concat new-objects accum)]
(info (:endpoint creds) "ListObjectsV2 prefix(" prefix "), ct(" ct "): " new-objects)
(if (:truncated? list-result)
(list-inner (:next-continuation-token list-result) objects)
objects)))
+10 -7
View File
@@ -44,12 +44,13 @@
(util/timeout
10000
(assoc op :type :fail, :error ::timeout)
(let [items (s3/list (:creds this) prefix)
items-stripped (map (fn [o]
(let [items (s3/list (:creds this) prefix)]
(info "list results for prefix" prefix ":" items " (node:" (:endpoint (:creds this)) ")")
(let [items-stripped (map (fn [o]
(assert (str/starts-with? o prefix))
(str/replace-first o prefix "")) items)
items-set (set (map parse-long items-stripped))]
(assoc op :type :ok, :value (independent/tuple k items-set)))))))
items-set (set (map parse-long items-stripped))]
(assoc op :type :ok, :value (independent/tuple k items-set))))))))
(teardown! [this test])
(close! [this test]))
@@ -100,9 +101,11 @@
(->> (range)
(map (fn [x] {:type :invoke, :f :add, :value x}))
(gen/limit (:ops-per-key opts)))))
:final-generator (independent/sequential-generator
(range 100)
(fn [k] (gen/once op-read)))})
:final-generator (gen/phases
(independent/sequential-generator
(range 100)
(fn [k] (gen/once op-read)))
(gen/sleep 5))})
(defn workload2
"Tests insertions and deletions"