Found a few issues that I am fixing:
• we don't check the return code of the output process to decide on success of failure
• we are too agressive when we close the process
• we still have a problem with schema validation when we check the schema on a jsonNode in the stream so we just skip the schema message sometime and the target doesn't like it