Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
As the title says, in some cases it should be possible to recover the StreamThread without killing and restarting it (it may in fact be possible for all exception types, though in some cases it may be preferable to just let the thread die and start up with a fresh thread).
This would obviously allow for greatly mitigating the impact of errors in the subtopology, and allow us to retry with little overhead. It may also make it easier to improve the processing semantics in the face of exceptions.
This will also be useful if/when we implement a more sophisticated task scheduling which can, for example, work to deprioritize tasks that are frequently experiencing errors without crashing the whole thread or dropping the task entirely