                                      (let [v (<!! out-chan)]
                                        (when (and v (not= v :done)) 
                                          (swap! incomplete disj v)
+                                         (when (or (nil? (:a v))
+                                                   (nil? (:b v)))
+                                           (swap! bad-values conj v))
                                          (recur))))
         kill-ch (chan 1)
-        ; it can take 3 * batch-timeout to make it through a full circuit, however
-        ; there will be circumstances where the peers left alone, so lets try 2* for now
-        chaos-kill-ms (* 2 batch-timeout)
         mess-with-peers-ch (go-loop []
-                                    (let [[v ch] (alts!! [(timeout chaos-kill-ms) kill-ch])]
+                                    (let [; average the the full circuit worth of timeouts
+                                          chaos-kill-ms (rand-int (* 3 batch-timeout 2))
+                                          [v ch] (alts!! [(timeout chaos-kill-ms) kill-ch])]
                                       (when-not (= ch kill-ch) 
                                         (try 
                                           (when-let [non-input-peers (->> (get (:allocations @(:replica test-env)) job-id)

    :onyx/doc "Reads segments from a core.async channel"}

   {:onyx/name :intermediate-1
    :onyx/fn :onyx.peer.fault-tolerance/process-middle
    :onyx/batch-timeout batch-timeout
    :onyx/type :function
    :onyx/batch-size batch-size}

   {:onyx/name :intermediate-2
    :onyx/fn :onyx.peer.fault-tolerance/process-middle
    :onyx/type :function
    :onyx/batch-timeout batch-timeout
    :onyx/batch-size batch-size}

                         (if v 
                           (recur (conj after-done v))
                           after-done)))]
      (fact after-done => #{})
      (fact @bad-values => #{}))
    (close! kill-ch)
    #_(<!! mess-with-peers-ch))
  (finally 
    (component/stop test-env)))
