quarks-edge / quarks

Quarks is an open source programming model and runtime for edge devices that enables you to analyze data and events at the device.
http://quarks-edge.github.io/
Apache License 2.0
123 stars 42 forks source link

Restart topology on uncaught exception #105

Closed vdogaru closed 8 years ago

vdogaru commented 8 years ago

A mechanism to start over the topology when the topology crashes.

If a Quarks thread abruptly terminates due to an uncaught exception the runtime shuts down. There are several alternatives for preventing the Quarks application from becoming unavailable:

  1. Restart the failed oplet. In the ETIAO runtime, a source and all downstream oplet invocations (up to an Isolate) will execute in the same thread, so the runtime needs to restart the failed path.
  2. Have a monitor service which resubmits the topology in case it is shut down.

Any thoughts or comments?

ddebrunner commented 8 years ago

It might be simpler to stop & restart the whole topology.

Restarting the sequence of oplets is tempting, but may run into issues when the oplet is fed by mutliple threads, e.g. a join.

vdogaru commented 8 years ago

Moved to https://issues.apache.org/jira/browse/QUARKS-8