Liking cljdoc? Tell your friends :D

0.5.0

Release 0.5.0 abolishes the Coordinator, and is now a fully masterless system. Additionally, 0.5.0 implements many new services and public APIs. 0.5.0 breaks backwards compatability with the previous release - 0.4.1. These changes are outlined below. See the changelog for full details.

  • The Coordinator, and it's highly available counterpart, have been abolished. Onyx is now composed of ZooKeeper, HornetQ, and virtual Peers. You can read all about how it works in the internal design documentation.
  • All coordination events now happen via an append-only, structured log. This log exposes open-ended subscription, meaning you can now get realtime access to events such as job submission, task completion, peer failure, and more. See the subscription docs for usage instructions.
  • Cluster allocation can now be controlled in a fine-grained manner at the job and task level. See scheduling documentation instructions and examples.
  • The number of executing peers per task can be capped at an integer value. Refer to the example.
  • Serializable parameters can now be applied to a target function via the catalog with :onyx/params. This lets you avoid specifying multimethod implementations to accomplish parameterization. See the example.
  • Jobs can now be explicitly killed, shutting down all executing of a job's tasks. See the example.
  • Onyx exposes a new built-in garbage collector to clean up ZooKeeper and in memory data structures. See the GC docs for details.

Upgrade notes:

  • Onyx 0.5.0 is incompatible with previous versions in many ways. A HA restart is not possible.

Misc:

  • Transducer support will again be moved back to release 0.6.0, and will be held until Clojure 1.7.0 officially ships.

A special thanks to all contributors:

Can you improve this documentation?Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close