Steve Niemitz created BEAM-9557:
-----------------------------------
Summary: Error setting processing time timers near end-of-window
Key: BEAM-9557
URL: https://issues.apache.org/jira/browse/BEAM-9557
Project: Beam
Issue Type: Bug
Components: runner-core
Affects Versions: 2.20.0
Reporter: Steve Niemitz
Previously, it was possible to set a processing time timer past the end of a
window, and it would simply not fire.
However, now, this results in an error:
{code:java}
java.lang.IllegalArgumentException: Attempted to set event time timer that
outputs for 2020-03-19T18:01:35.000Z but that is after the expiration of window
2020-03-19T17:59:59.999Z
org.apache.beam.vendor.guava.v26_0_jre.com.google.common.base.Preconditions.checkArgument(Preconditions.java:440)
org.apache.beam.runners.dataflow.worker.repackaged.org.apache.beam.runners.core.SimpleDoFnRunner$TimerInternalsTimer.setAndVerifyOutputTimestamp(SimpleDoFnRunner.java:1011)
org.apache.beam.runners.dataflow.worker.repackaged.org.apache.beam.runners.core.SimpleDoFnRunner$TimerInternalsTimer.setRelative(SimpleDoFnRunner.java:934)
<snip>.processElement(???.scala:187)
{code}
I think the regression was introduced in commit
a005fd765a762183ca88df90f261f6d4a20cf3e0. Also notice that the error message
is wrong, it says that "event time timer" but the timer is in the processing
time domain.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)