beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kenneth Knowles (JIRA)" <j...@apache.org>
Subject [jira] (BEAM-1346) Drop Late Data in ReduceFnRunner
Date Tue, 31 Jan 2017 17:23:51 GMT

    [ https://issues.apache.org/jira/browse/BEAM-1346?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15847156#comment-15847156
] 

Kenneth Knowles commented on BEAM-1346:
---------------------------------------

Looking at the history, the Apex runner never relied on {{DoFnRunners.createDefault}} to set
up late data dropping. I think it was just never done.

One way to look at the gap in coverage here is that because all of our {{RunnableOnService}}
tests (until very recently) have only bounded input, the integration testing of a runner +
the triggering logic is rather poor. The test cases we want are in {{ReduceFnRunnerTest}}.
One obvious approach (I am not claiming it is best) is for runners to implement {{TestStream}}
and port these all these to {{RunnableOnService}} tests. They basically are already in that
form.

There was a time that {{ReduceFnRunner}} did the dropping, I believe, and it was factored
out to try to be reused in some other situation where late data would cause a problem. I've
forgotten the details. Given the code coverage situation, it might be reasonable to have both.

> Drop Late Data in ReduceFnRunner
> --------------------------------
>
>                 Key: BEAM-1346
>                 URL: https://issues.apache.org/jira/browse/BEAM-1346
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-core
>    Affects Versions: 0.5.0
>            Reporter: Aljoscha Krettek
>
> I think these two commits recently broke late-data dropping for the Flink Runner (and
maybe for other runners as well):
> - https://github.com/apache/beam/commit/2b26ec8
> - https://github.com/apache/beam/commit/8989473
> It boils down to the {{LateDataDroppingDoFnRunner}} not being used anymore  because {{DoFnRunners.lateDataDroppingRunner()}}
is not called anymore when a {{DoFn}} is a {{ReduceFnExecutor}} (because that interface was
removed).
> Maybe we should think about dropping late data in another place, my suggestion is {{ReduceFnRunner}}
but that's open for discussion.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message