Closed cgillum closed 1 year ago
If we're just returning the exception of one of the inner tasks, why should we use a new class representing a "composite" exception?
If we're just returning the exception of one of the inner tasks, why should we use a new class representing a "composite" exception?
These are alternate proposals. We could either a) introduce composite exceptions or b) surface only the first exception. We wouldn't do both.
The implementation of this method in TaskOrchestrationExecutor.java currently throws a
RuntimeException
if any of the inner tasks fails. This seems wrong because tasks are only supposed to fail withTaskFailedException
.One challenge is that
TaskFailedException
is designed to represent a single named task. We may need to create a new exception type for composite exceptions. Alternatively, we could surface the details of the first exception. It may be useful to use the current .NET implementation design as a reference for this design.As part of this work item, we should also do the following:
TaskOrchestrationContext.allOf
to accurately reflect the expected exception behavior