Comparison between approaches : Usual Beam
pipeline with error handling using Asgarde
Purpose of the library:
❏ Wrap all error handling logic in a composer class.
❏ Wrap exceptionsInto and exceptionsVia usage in the native Beam classes MapElements and
FlatMapElements.
❏ Keep the fluent style natively proposed by Beam in apply methods while checking for failures
and offer a less verbose way of handling errors.
❏ Expose custom DoFn classes with centralized try/catch blocks and Tuple tags.
❏ Expose an easier access to the @Setup, @StartBundle, @FinishBundle, @Teardown steps of
DoFn classes, while error handling.
❏ Allow to concat all the failures occurred in the flow.
❏ Expose a way to handle errors in filtering logic (currently not available with Beam's Filter.by).