Fork me on GitHub
#onyx
<
2018-03-28
>
lellis19:03:33

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?

michaeldrogalis21:03:24

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

lellis21:03:12

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

michaeldrogalis21:03:44

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

lucasbradstreet21:03:24

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.

lucasbradstreet21:03:13

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

lellis21:03:38

Ok, but the flow-condition will trigger again?

lellis21:03:45

or only the task

lucasbradstreet21:03:25

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

lellis21:03:38

im using datomic-plugin

lellis21:03:33

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

lucasbradstreet21:03:16

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