You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "zlzhang0122 (Jira)" <ji...@apache.org> on 2021/01/27 12:46:00 UTC
[jira] [Updated] (FLINK-21165) Timestamps/Watermarks chained
erroneously with previous operator
[ https://issues.apache.org/jira/browse/FLINK-21165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
zlzhang0122 updated FLINK-21165:
--------------------------------
Description:
When using assignTimestampAndWatermarks function separately, if it can satisfied the chaining condition, it will chained erroneously with previous operator.
For example, I have a code like bellow:
{code:java}
// code placeholder
DataStream<UserAction> ds = dataSource.map(xxx).setParallelism(1);
ds.assignTimestampAndWatermarks(xxxx);
DataStream<UserAction> rsStream = ds.keyBy(xxx).timeWindow(xxx).sum(xxx).setParallelism(2);{code}
I will get the JobGraph bellow.
!Lark20210127-203541.png!
If I change my code to this:
{code:java}
// code placeholder
DataStream<UserAction> ds = dataSource.map(xxx).setParallelism(1);
DataStream<UserAction> watermarkStream = ds.assignTimestampAndWatermarks(xxxx);
DataStream<UserAction> rsStream = watermarkStream.keyBy(xxx).timeWindow(xxx).sum(xxx).setParallelism(2);
{code}
I will get the same JobGraph, at the same time the actual execution result is not the same.
I think the first JobGraph have some problem and should not show like that, maybe the Timestamps/Watermarks operator should show separately and should not chaining with previous operator.
was:
When using assignTimestampAndWatermarks function separately, if it can satisfied the chaining condition, it will chained erroneously with previous operator.
For example, I have a code like bellow:
{code:java}
// code placeholder
DataStream<UserAction> ds = dataSource.map(xxx).setParallelism(1);
ds.assignTimestampAndWatermarks(xxxx);
DataStream<UserAction> rsStream = ds.keyBy(xxx).timeWindow(xxx).sum(xxx).setParallelism(2);{code}
I will get the JobGraph bellow.
!Lark20210127-203541.png!
If I change my code to this:
{code:java}
// code placeholder
DataStream<UserAction> ds = dataSource.map(xxx).setParallelism(1);
DataStream<UserAction> watermarkStream = ds.assignTimestampAndWatermarks(xxxx);
DataStream<UserAction> rsStream = watermarkStream.keyBy(xxx).timeWindow(xxx).sum(xxx).setParallelism(2);
{code}
I will get the same JobGraph, at the same time the actual execution result is not the same.
I think the first JobGraph have some problem and should not show like that, maybe the Timestamps/Watermarks operator should show separately and should not chaining with previous operator.
> Timestamps/Watermarks chained erroneously with previous operator
> ----------------------------------------------------------------
>
> Key: FLINK-21165
> URL: https://issues.apache.org/jira/browse/FLINK-21165
> Project: Flink
> Issue Type: Bug
> Components: Client / Job Submission
> Affects Versions: 1.12.0, 1.11.1
> Reporter: zlzhang0122
> Priority: Major
> Attachments: Lark20210127-203541.png
>
>
> When using assignTimestampAndWatermarks function separately, if it can satisfied the chaining condition, it will chained erroneously with previous operator.
> For example, I have a code like bellow:
> {code:java}
> // code placeholder
> DataStream<UserAction> ds = dataSource.map(xxx).setParallelism(1);
> ds.assignTimestampAndWatermarks(xxxx);
> DataStream<UserAction> rsStream = ds.keyBy(xxx).timeWindow(xxx).sum(xxx).setParallelism(2);{code}
> I will get the JobGraph bellow.
> !Lark20210127-203541.png!
> If I change my code to this:
> {code:java}
> // code placeholder
> DataStream<UserAction> ds = dataSource.map(xxx).setParallelism(1);
> DataStream<UserAction> watermarkStream = ds.assignTimestampAndWatermarks(xxxx);
> DataStream<UserAction> rsStream = watermarkStream.keyBy(xxx).timeWindow(xxx).sum(xxx).setParallelism(2);
> {code}
> I will get the same JobGraph, at the same time the actual execution result is not the same.
> I think the first JobGraph have some problem and should not show like that, maybe the Timestamps/Watermarks operator should show separately and should not chaining with previous operator.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)