Closed kbr- closed 3 years ago
I believe this is https://github.com/jepsen-io/jepsen/issues/485, which is fixed in 0.2.1-SNAPSHOT. :-)
Oh, nice, thanks, google didn't catch it. Guess we can close.
Sorry bout that! I did a lot of testing work prior to 0.2.0, but this one snuck through. There's also an issue in stagger
which is fixed in 0.2.1.
Jepsen 0.2.0
reproduce with the following test:
I debugged it, here's what happens:
:type :info
, let's say the process wasX
ConcurrentGenerator
'supdate
takes the completion event, it has processX
, tries to obtain the thread of processX
, but there is no such thread anymore:{... :workers {0 1, :nemesis :nemesis}}
Event:
{:type :info, :time 52925744, :process 0, :value [0 nil]}
(update [this test ctx event] (let [process (:process event) thread (gen/process->thread ctx process) group (thread->group thread)] (ConcurrentGenerator. n fgen group->threads thread->group keys (update gens group gen/update test ctx event)))))
java.lang.IllegalArgumentException: Key must be integer
at clojure.lang.APersistentVector.assoc(APersistentVector.java:347)
at clojure.lang.APersistentVector.assoc(APersistentVector.java:18)
at clojure.lang.RT.assoc(RT.java:827)
at clojure.core$assoc__5416.invokeStatic(core.clj:191)
at clojure.core$update.invokeStatic(core.clj:6202)
at clojure.core$update.invoke(core.clj:6188)
at jepsen.independent.ConcurrentGenerator.update(independent.clj:209)