Skip to content

Refactor FlinkStreamManager construction

Ottomata requested to merge T326536_FlinkStreamManager_refactor into main

In prep for adding a secondary sink for error event output (T326536), refactor FlinkStreamManager construction with the Builder pattern. This will allow for more flexible customization of sources and sinks.

This also refactors the stream_manager interface, making consistent the specification of source and sink EventStreamDescriptors, and sources and sinks. EventStreamDescriptors are used to get RowTypeInfo, and sources and sinks are created to match stream's RowTypeInfo.

I believe this will also allow us to pass in source and sink specific options to methods, rather than relying on setting them permanently on EventDataStreamFactory.

In a future patch, I plan to add the ability to automate adding the error sink using the same EventStreamDescriptor + error_sink pattern.

Bug: T326536

Merge request reports