[
https://issues.apache.org/jira/browse/BEAM-3332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16320019#comment-16320019
]
Ismaël Mejía commented on BEAM-3332:
------------------------------------
[~mrshenli] would you mind to do a PR on this one given that it seems quite
simple and you already have the solution ?
> AfterProcessingTimer trigger not firing if invoked exactly on time
> ------------------------------------------------------------------
>
> Key: BEAM-3332
> URL: https://issues.apache.org/jira/browse/BEAM-3332
> Project: Beam
> Issue Type: Bug
> Components: runner-core
> Affects Versions: 2.0.0, 2.1.0, 2.2.0
> Reporter: Shen Li
> Assignee: Kenneth Knowles
> Priority: Trivial
>
> I occasionally run into an issue that the processing time trigger is invoked
> on time, but the TriggerStateMachienRunner#shouldFire() returns false. After
> comparing time instances, I found that this issue occurs when the trigger is
> invoked exactly on time. It is because the
> AfterDelayFromFirstElementStateMachine does the following:
> {quote} return delayedUntil != null
> && getCurrentTime(context) != null
> && getCurrentTime(context).isAfter(delayedUntil);{quote}
> which only returns true when the current processing time is AFTER (exclude
> equals) delayUntil. Should it actually be
> !getCurrentTime(context).isBefore(delayedUntil) ?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)