je-ik commented on pull request #14718:
URL: https://github.com/apache/beam/pull/14718#issuecomment-832123747


   There is no fireTimestamp until the timer is actually fired. The use case 
sets the timer in @ProcessElement. 
`Timer.withOutputTimestamp().offset(Duration.ZERO).setRelative()` should fire 
as soon as watermark moves, the fireTimestamp of the set timer is the current 
value of the input watermark (presumably, I didn't investigate the code, but it 
makes sense). Whether or not this call throws exception depends on the current 
value of the input watermark (or the base for relative event time timers, may 
it be anything).
   If you look at the test case I think there is nothing else left to do to 
make it succeed without changing the precondition check (or making input 
watermark available to the user somehow).
   Another note is that setting watermarkhold to time T + delta is semantically 
a no-op, the output watermark cannot be ahead of the input watermark, so that 
doesn't break anything. 


-- 
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.

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


Reply via email to