[
https://issues.apache.org/jira/browse/GEARPUMP-317?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16053164#comment-16053164
]
ASF GitHub Bot commented on GEARPUMP-317:
-----------------------------------------
Github user huafengw commented on a diff in the pull request:
https://github.com/apache/incubator-gearpump/pull/187#discussion_r122588303
--- Diff:
streaming/src/main/scala/org/apache/gearpump/streaming/dsl/window/impl/WindowRunner.scala
---
@@ -118,25 +126,34 @@ class DefaultWindowRunner[IN, OUT](
}
})
fnRunner.finish().foreach {
- out: OUT => outputs += TimestampedValue(out,
firstWin.endTime.minusMillis(1))
+ out: OUT =>
+ outputs += TimestampedValue(out,
firstWin.endTime.minusMillis(1))
}
+ val newWmk = TaskUtil.max(wmk, firstWin.endTime)
if (windows.accumulationMode == Discarding) {
fnRunner.teardown()
setup = false
// discarding, setup need to be called for each window
- onTrigger(outputs)
+ onTrigger(outputs, newWmk)
--- End diff --
Move `onTrigger` outside of the `if else`
> Task minClock could be non increasing
> -------------------------------------
>
> Key: GEARPUMP-317
> URL: https://issues.apache.org/jira/browse/GEARPUMP-317
> Project: Apache Gearpump
> Issue Type: Bug
> Components: streaming
> Affects Versions: 0.8.3
> Reporter: Manu Zhang
> Assignee: Manu Zhang
>
> Task minClock is the minimum of upstream minClock and output minClock.
> Considering the following scenario,
> 1. Output minClock is set to Long.MaxValue since all messages have been acked
> by downstream tasks
> 2. But there are messages buffered in a window function
> 3. Later the window is triggered and those messages are emitted, which will
> set the output minClock to a smaller value.
> 4. Plus, the output messages are possibly not in time order, which again will
> make output minClock non increasing.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)