je-ik commented on a change in pull request #14718:
URL: https://github.com/apache/beam/pull/14718#discussion_r632911653
##########
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:
GIving it one more thought, I think we should actually drop the
Precondition for the output timestamp all together. Limiting it to any (future)
timestamp seems inconsistent with the fact, that there is nothing stopping the
user from using `outputWithTimestamp` and output arbitrarily future-bound
value. The only thing the timer output timestamp actually influences is the
output watermark. The output watermark is bound to be at most the value of
input watermark, so setting a watermark hold to something higher is a no-op
(semantically). Therefore this check should be removed completely.
@kennknowles @reuvenlax WDYT?
##########
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),
"Attempted to set an event-time timer with an output timestamp of
%s that is"
- + " after the timer firing timestamp %s",
+ + " after the expiration of window %s",
outputTimestamp,
- target);
+ windowExpiry);
checkArgument(
!target.isAfter(windowExpiry),
Review comment:
Yes, agree.
--
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]