-
Notifications
You must be signed in to change notification settings - Fork 733
Description
Hello! I am attempting to use db/Kill from jepsen.db in my own db implementation, but I keep coming across this error:
Caused by: java.lang.ClassNotFoundException: jepsen.db.Kill
In my db implementation I am able to successfully run and use db/DB and db/LogFIles (and all the other available protocols I've been able to at least successfully define in my implementation, despite them not being used), but trying to implement db/Kill results in the compiler issue above.
My code successfully imports :require [jepsen.db :as db]
, and I've defined both kill!
and start!
functions. Is this an error on Jepsen's end, or am I incorrectly using db/Kill? I've looked at other Jepsen tests that use db/Kill and it seems to me that's all they are doing as well but I've been stuck with this for some time now.
Here is how my db is defined:
(ns jepsen.aeron.db
(:require [jepsen.control :as c]
[jepsen.db :as db]
[clojure.tools.logging :refer :all]
[clojure.string :as str]))
;; random helper functions that I've omitted for brevity, works as expected when running Jepsen and do not cause the issue
(defn db [version]
(reify
db/DB
(setup! [_ test node]) ;; includes logic that I've omitted for brevity, works as expected when running Jepsen
(teardown! [_ test node]) ;; includes logic that I've omitted for brevity, works as expected when running Jepsen
db/Kill ;; Running Jepsen works fine without these 3 lines of code, but once I've included them, I get the error above
(kill! [_ test node])
(start! [_ test node])
db/LogFiles
(log-files [_ test node]) ;; includes logic that I've omitted for brevity, works as expected when running Jepsen
)
)
I'm sorry if this isn't the correct place to put this/ask about this, but I'm not sure how to further debug this issue. If there's another channel or place that I should ask this question, please let me know. Any help would be greatly appreciated!