jepsen-io / jepsen

A framework for distributed systems verification, with fault injection
6.81k stars 719 forks source link

Knossos versioning issues #182

Closed bdarnell closed 7 years ago

bdarnell commented 7 years ago

After pulling #181, the CockroachDB tests are all failing.

$ cd jepsen/cockroachdb
$ lein run test ...
...
Retrieving jepsen/jepsen/0.1.5/jepsen-0.1.5.jar from clojars
...
Retrieving knossos/knossos/0.2.8/knossos-0.2.8.jar from clojars
...
Retrieving lein-localrepo/lein-localrepo/0.5.4/lein-localrepo-0.5.4.jar from clojars
Compiling jepsen.cockroach.runner
java.io.FileNotFoundException: Could not locate knossos/competition__init.class or knossos/competition.clj on classpath., compiling:(checker.clj:1:1)
Exception in thread "main" java.io.FileNotFoundException: Could not locate knossos/competition__init.class or knossos/competition.clj on classpath., compiling:(checker.clj:1:1)
    at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3657)
    at clojure.lang.Compiler.compile1(Compiler.java:7474)
    at clojure.lang.Compiler.compile1(Compiler.java:7464)
    at clojure.lang.Compiler.compile(Compiler.java:7541)
    at clojure.lang.RT.compile(RT.java:406)
...
Caused by: java.io.FileNotFoundException: Could not locate knossos/competition__init.class or knossos/competition.clj on classpath.
    at clojure.lang.RT.load(RT.java:456)
    at clojure.lang.RT.load(RT.java:419)
    at clojure.core$load$fn__5677.invoke(core.clj:5893)

It looks like it's pulling jepsen and knossos from the network, then ignoring the jepsen jar it downloaded and using the local source (which is incompatible with the downloaded knossos). I don't think I'm setting any classpath variables or anything that would cause it to look there (although there are a lot of layers in the scripts here and I don't know what variables to look for). Any idea what I might be doing wrong? Should I just bump the jepsen version in cockroachdb/project.clj to 0.1.6-SNAPSHOT?

aphyr commented 7 years ago

So the competition checker was introduced in Knossos 0.3.0, and is referred to by Jepsen 0.1.6-SNAPSHOT. Cockroach refers to 0.1.5, which means it shoooouldn't point to the competition checker. Possible answers:

bdarnell commented 7 years ago

Yep, I have this checkouts directory. Sounds like I should just remove that.