onyx

FYI: alternative Onyx :onyx: chat is at <https://gitter.im/onyx-platform/onyx> ; log can be found at <https://clojurians-log.clojureverse.org/onyx/index.html>
lellis 2018-03-28T19:11:33.000262Z

Hi guys! Suppose the are job running [:in :my-func :my-func :out] with one flow condition from :in to :my-func, so the task :my-func throw some exception. My question is: when the task retry it will pass in flow-condition again or not?

michaeldrogalis 2018-03-28T21:21:24.000211Z

@lellis It depends on how far the input stream needs to rewind - it's probably safe to assume that flow conditions would evaluate again

lellis 2018-03-28T21:24:12.000253Z

@michaeldrogalis There is any chance the task retry without pass in flow-condition again?

michaeldrogalis 2018-03-28T21:25:44.000385Z

@lellis Possibly. I can't recall the details in that area of code. @lucasbradstreet?

lucasbradstreet 2018-03-28T21:27:24.000039Z

If your fn throws an exception that is not handled, the task will rewind to the point at which it was committed and depending on what your code does it will end up performing the same operations. So if your code always throws on that data it will throw again.

lucasbradstreet 2018-03-28T21:28:13.000446Z

That will cause it to keep throwing over and over. So you need to handle any non transitory exceptions in your code.

lellis 2018-03-28T21:28:38.000007Z

Ok, but the flow-condition will trigger again?

lellis 2018-03-28T21:28:45.000177Z

or only the task

lucasbradstreet 2018-03-28T21:29:25.000566Z

If your using the kafka plugin it’ll play back the stream again so yes

lellis 2018-03-28T21:29:38.000381Z

im using datomic-plugin

lellis 2018-03-28T21:30:33.000011Z

:onyx.plugin.datomic/read-log-calls

lucasbradstreet 2018-03-28T21:31:16.000106Z

K. Same deal. It’ll restart from an earlier tx, and everything will be performed as before, tasks, flow conditions, etc

lellis 2018-03-28T21:31:38.000574Z

nice! ty @lucasbradstreet and @michaeldrogalis!!