je-ik commented on a change in pull request #14718:
URL: https://github.com/apache/beam/pull/14718#discussion_r630804066
##########
File path:
runners/core-java/src/main/java/org/apache/beam/runners/core/SimpleDoFnRunner.java
##########
@@ -1219,11 +1219,11 @@ private void setAndVerifyOutputTimestamp() {
Instant windowExpiry = window.maxTimestamp().plus(allowedLateness);
if (TimeDomain.EVENT_TIME.equals(spec.getTimeDomain())) {
checkArgument(
- !outputTimestamp.isAfter(target),
+ !outputTimestamp.isAfter(windowExpiry),
Review comment:
Forcing the output timestamp to be before the end of the window is
actually quite logical requirement, but is a breaking change. It will break
code that sets timer (without output timestamp) to endOfWindow + lateness.
Therefore I think we must keep the check as it is. Yes, it might result in data
from a particular window being emitted for a different window (which really
seems like a bug).
--
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]