Search code examples
javahazelcast-jet

How to properly redefine/restart Jet's job after fault?


The Jet's manual says that one job could be submitted multiple times. But, when I try to restart it after some exception I'll get the exception like "Cannot restart failed job". If I'll do nothing I get no exceptions but computation is not performed inside pipeline.

Thanks in advance!


Solution

  • This is an erratum in the manual of Jet 0.6.1:

    The same Job instance can be submitted for execution many times.

    What you actually submit for execution is a Pipeline or a Dag, and a Job is your handle to one specific execution. So you can get many Job instances for the same Pipeline or Dag. Job.restart() doesn't mean "restart from scratch", but "stop and start" the same job, continuing where it left.

    Once a job fails, you're free to submit another job with the same Pipeline instance, but there's no mechanism to automatically retry from scratch after any failure.