Admaing commented on PR #29239:
URL: https://github.com/apache/flink/pull/29239#issuecomment-5798538284

   @rkhachatryan thanks for the careful review — I verified both points in the 
code and you're right on
   both.
   
   Adopted, pushed as 40e286b:
   
   * `WatermarkOutputMultiplexer` now reports the combined status on every 
update (level-based, no transition tracking), and returns early while no output 
is registered, so a subtask without splits can still go idle through the main 
output's activity timer.
   * `WatermarksWithIdleness.onEvent()` calls `output.markActive()` when 
`isIdleNow` is set, and the  class Javadoc no longer claims that only a 
watermark ends idleness.
   * `WatermarkToDataOutput.emitWatermark()` marks the output active before the 
monotonicity guard.
   * The `registerNewOutput()` re-activation (FLINK-22926) is kept, as you 
suggested.
   
   Tests: I added the two subtask-idleness cases you described
   (`subtaskMustNotGoIdleWhileRecordsFlowThroughItsSplits`,
   `subtaskWithoutSplitsGoesIdleViaTheMainOutputTimer`) plus two along the same 
lines — all splits idle ⇒ the subtask stands down, and an idle split resuming 
behind the flushed watermark ⇒ active again —
   as well as 
`WatermarksWithIdlenessTest#testMarksActiveOnFirstEventAfterIdleness` and a 
multiplexer case asserting that nothing is reported while there is no output. 
With the production changes reverted to master, 10 of the new/updated cases 
fail; a 21-class / 142-test watermark regression passes.
   
   Two things to flag:
   
   * Keeping the `registerNewOutput()` re-activation changes the event order in 
the existing
     `SourceOperatorEventTimeTest#testMainAndPerSplitWatermarkIdleness`: 
registering a split now emits ACTIVE before that split's first record 
(FLINK-22926). I updated that expectation.
   * I added a release note line covering the `WatermarkToDataOutput` behaviour 
change and
     `WatermarksWithIdleness` being `@Public`. I cannot set the JIRA Release 
Note field myself, so I asked a committer to set it on the ticket.
   
   Could you take another look at 40e286b?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to