How do we get uncaught exceptions in operators to skip the problematic messages, rather than crash the entire job? Is there an easier or less mistake-prone way to do this than wrapping every operator method in try/catch?
And what to do about Map? Since it has to return something, we're either returning null and then catching it with a .filter(Objects.nonNull) in the next operator, or converting it to FlatMap. FlatMap conversion is annoying, because then we need to mock the Collector for testing.
Obviously it would be best to sanitize inputs so that exceptions don't occur, but we've recently encountered some setbacks in the game of whack-a-mole with pathological messages, and are hoping to mitigate the losses when these do occur.
Jacob