...
We should also update the definition of StreamStatus#IDLE to make sure that this a) may introduce late records and b) should be user-controlled. With that change, we also remove all code that automatically let's sources go idle without user-specified idleness.
Since sources may offer users the ability to go IDLE
beyond the WatermarkStrategy#withIdleness
, we propose to also add WatermarkOutput#markActive
to quickly go active again without the need to explicitly emit a watermark first. This addition allows to reduce the number of late records when a source knows that records are available until it processed a batch and actually emit a watermark.
...