Class MultiInputWatermarkManager

  • All Implemented Interfaces:
    InputWatermarkManager

    public final class MultiInputWatermarkManager
    extends java.lang.Object
    implements InputWatermarkManager
    This tracks the minimum input watermark among multiple input streams.
    • Constructor Detail

      • MultiInputWatermarkManager

        public MultiInputWatermarkManager​(int numEdges,
                                          OutputCollector<?> watermarkCollector)
    • Method Detail

      • trackAndEmitWatermarks

        public void trackAndEmitWatermarks​(int edgeIndex,
                                           Watermark watermark)
        Description copied from interface: InputWatermarkManager
        This tracks the minimum input watermark among multiple input streams. This method is not a Thread-safe so the caller should synchronize it if multiple threads access this method concurrently. Ex) -- input stream1 (edge 1): ---------- ts: 3 ------------------ts: 6 ^^^ emit ts: 4 (edge 2) watermark at this time -- input stream2 (edge 2): ----------------- ts: 4------ ^^^ emit ts: 3 (edge 1) watermark at this time -- input stream3 (edge 3): ------- ts: 5 ---------------
        Specified by:
        trackAndEmitWatermarks in interface InputWatermarkManager
        Parameters:
        edgeIndex - incoming edge index
        watermark - watermark emitted from the edge