            (future
              (try
                (dotimes [i 50000]
-;                 (call! conn "MENTIONS.insert" i (rand-int 1000)))
+;                 (call! conn "MENTIONS.insert" i (rand-int 1000))
                  ; If we go TOO fast we'll start forcing other ops to time
                  ; out. If we go too slow we won't get a long enough log.
                  (Thread/sleep 1)

  ([test node]
   (info "recovering" node)
   (start-daemon! test :recover (jepsen/primary test))
   (await-initialization node)))

(defn rejoin!
  "Rejoins a voltdb node. Serialized to work around a bug in voltdb where

       [:commandlog {:enabled true, :synchronous true, :logsize 128}
        [:frequency {:time 2}]]]))) ; milliseconds

(defn init-voltdb!
  "Starts the daemon with the given command."
  [test host]
  (info host "initializing voltdbroot")
  (c/sudo username
          (c/cd voltroot
                (c/exec (str base-dir "/bin/voltdb") :init
                    :--config (str base-dir "/deployment.xml")
                    :--force
                    :--dir (str base-dir)
                    (c/lit ">> log/stdout.log")
                ))))

(defn configure!
  "Prepares config files and creates fresh DB."
  [test node]
  (c/sudo username
        (c/cd base-dir
              (c/exec :echo (deployment-xml test) :> "deployment.xml")))

  (init-voltdb! (jepsen/primary test))
)

(defn close!
  "Calls c.close"
