   ([peer-config job-id]
      (kill-job peer-config job-id {:monitoring :no-op}))
   ([peer-config job-id monitoring-config]
+     (validator/validate-peer-config peer-config)
      (when (nil? job-id)
        (throw (ex-info "Invalid job id" {:job-id job-id})))
      (let [client (component/start (system/onyx-client peer-config monitoring-config))

  ([peer-config]
   (gc peer-config {:monitoring :no-op}))
  ([peer-config monitoring-config]
   (let [id (java.util.UUID/randomUUID)
           client (component/start (system/onyx-client peer-config monitoring-config))
           entry (create-log-entry :gc {:id id})

  ([peer-config job-id]
     (await-job-completion peer-config job-id {:monitoring-config {:monitoring :no-op}}))
  ([peer-config job-id {:keys [monitoring-config timeout-ms]}]
   (validator/validate-peer-config peer-config)
   (let [job-id (validator/coerce-uuid job-id)
         client (component/start (system/onyx-client peer-config monitoring-config))
         ch (chan 100)
