framed-data / overseer

Overseer is a library for building and running data pipelines in Clojure.
Eclipse Public License 1.0
97 stars 10 forks source link

Fix NPE in heartbeat monitors #96

Closed andrewberls closed 7 years ago

andrewberls commented 7 years ago

Heartbeat monitors were incorrectly written expecting overseer.core/jobs-dead return a seq of job maps, whereas it is actually spec'd to return job IDs. This leads to NPEs from a bad destructure and subsequent update attempt. This is easily fixed, and an integration test for the monitor has been added, tested against both store implementations. Along the way, test store construction has been moved centrally to the test-utils namespace.

Note: The default system shutdown behavior of the heartbeat monitor is now configurable by :heartbeat :monitor-shutdown (default: true), as this would otherwise trigger when canceling the monitor future in tests.