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


   Thinking more about it, there are three cases:
    1) setting timer with the scope of window => `timer.set(X)` should then 
have the semantics of `timer.withOutputTimestamp(X).set(X)`, watermark hold 
must be placed at instant X
    2) setting timer out of the scope of window (within lateness) => 
`timer.set(X)` should have the the semantics of 
timer.withOutputTimestamp(endOfWindow).set(X)`, but *should not set the hold* 
(or should set it for the window GC time, which should be done by default
    3) setting timer out of the scope of window (within lateness) => 
`timer.withOutputTimestamp(within window validity).set(windowGc)` should set 
the watermark hold, as that is the intent
    
   Cases 2) and 3) show, that we must be able to distinguish the case when the 
user explicitly sets output timestamp and when he does not. I'm afraid these 
changes are too deep, therefore I'd suggest to again return to solution b) or 
d) above, close this PR and possibly do another follow up in different JIRA. 
This might probably require discussion on the ML.


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