Re: [DISCUSS]当timestamp - offset + windowSize < 0时,元素无法被分配到正确的窗口

2022-03-03 文章 yidan zhao
嗯,问题的确存在。 只是场景有点特别,ts一般是时间戳,ts本身负数或很小的情况这个我没考虑。 邓子琦 于2022年3月4日周五 14:28写道: > 不是的,这是一个现存问题 > > abs(offset)>size的约束并不能让ts-offset+size必然大于0 > > 图中给出的示例是我们用代码验证过的。你可以尝试运行下面的代码 > > 会发现它暴露出来的问题跟我所描述的一样 > > /* output > > *窗口开始时间是-15000 有1个元素 数据是 (a,-17000) > > *窗口开始时间是-1 有1个元素

Re: [DISCUSS]当timestamp - offset + windowSize < 0时,元素无法被分配到正确的窗口

2022-03-03 文章 邓子琦
不是的,这是一个现存问题 abs(offset)>size的约束并不能让ts-offset+size必然大于0 图中给出的示例是我们用代码验证过的。你可以尝试运行下面的代码 会发现它暴露出来的问题跟我所描述的一样 /* output *窗口开始时间是-15000 有1个元素 数据是 (a,-17000) *窗口开始时间是-1 有1个元素 数据是 (b,-12000) *窗口开始时间是-5000 有2个元素 数据是 (c,-7000) *窗口开始时间是-5000 有2个元素

CDC 分表同步快照顺序

2022-03-03 文章 刘 家锹
Hi, all 我们在使用Flink CDC同步多张表,然后合并slink到一张es表中。但表之间有数据流转关系,比如有table_1, table_2, table2, 一条数据A之前table_1,但后续可能更新到table_2。 想请教下,如果使用正则表达式匹配同步分表,是否可以保证数据有序无误呢? 也就是全部分表同时快照,且等待所有分表快照同步完后才开始处理binlog。 从文档[1]中看到对于单表这种模式是可以保证的,但不确定多表且有数据流转是否也一样。 [1]

Re: flink 反压导致checkpoint超时,从而导致任务失败问题

2022-03-03 文章 yu'an huang
你好,我检查了下关于checkpoint的文档:https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/fault-tolerance/checkpointing/ tolerable checkpoint failure number: This defines how many

Re: [DISCUSS]当timestamp - offset + windowSize < 0时,元素无法被分配到正确的窗口

2022-03-03 文章 yidan zhao
1 在flink中调用这个方法的部分是 windowAssigner,以TumblingEventTimeWindows 为例,分配window的时候的逻辑为: long start = TimeWindow.getWindowStartWithOffset( timestamp, (globalOffset + staggerOffset) % size, size); 构造函数中offset逻辑: protected TumblingEventTimeWindows(long size, long offset,

Re: flink 反压导致checkpoint超时,从而导致任务失败问题

2022-03-03 文章 yu'an huang
你好,checkpoint超时默认不会导致作业重启,可以提供下JM log看看作业为什么会重启吗? > On 3 Mar 2022, at 9:15 PM, kong <62...@163.com> wrote: > > hello,我最近遇到一个问题: > 我通过flink消费kafka数据,job 图大概是这样的:Source -> map -> filter -> flatMap -> Map -> > Sink > 在一瞬间kafka的producer端会产生大量的数据,导致flink无法消费完,我的checkpoint设置的是10分钟; > 最后会产生Checkpoint

Flink??????????????????,????????????

2022-03-03 文章 Tony
cpu,??Flink??? 32, 512G, Flink???

flink 反压导致checkpoint超时,从而导致任务失败问题

2022-03-03 文章 kong
hello,我最近遇到一个问题: 我通过flink消费kafka数据,job 图大概是这样的:Source -> map -> filter -> flatMap -> Map -> Sink 在一瞬间kafka的producer端会产生大量的数据,导致flink无法消费完,我的checkpoint设置的是10分钟; 最后会产生Checkpoint expired before completing.的错误,导致job重启,从而导致从上一个checkpoint恢复,然后重复消费数据,又导致checkpoint超时,死循环了。 不知道有什么好办法解决该问题。 多谢~

??????????????????kafka??????????????kafka??????????????????????????

2022-03-03 文章 jianjianjianjianjianjianjianjian
kafka??kafkakafkaDebug

Re: [DISCUSS]当timestamp - offset + windowSize < 0时,元素无法被分配到正确的窗口

2022-03-03 文章 邓子琦
好滴 谢谢 yu'an huang 于2022年3月3日周四 18:17写道: > > 我想你们可以为Flink贡献代码。只要按照guide > https://flink.apache.org/contributing/contribute-code.html < > https://flink.apache.org/contributing/contribute-code.html%E4%B8%AD%E7%9A%84%E6%AD%A5%E9%AA%A4%E5%85%88%E5%BB%BA%E7%AB%8BJIRA > > > > 建立JIRA

Re: [DISCUSS]当timestamp - offset + windowSize < 0时,元素无法被分配到正确的窗口

2022-03-03 文章 yu'an huang
我想你们可以为Flink贡献代码。只要按照guide https://flink.apache.org/contributing/contribute-code.html 建立JIRA Ticket然后讨论就可以了,为了社区可以更方便的review你们的代码。 > On 3 Mar 2022, at 5:33 PM, 邓子琦

[DISCUSS]当timestamp - offset + windowSize < 0时,元素无法被分配到正确的窗口

2022-03-03 文章 邓子琦
当timestamp - offset + windowSize < 0时,元素无法被分配到正确的窗口问题 你好! 我们在学习flink源码时,发现它计算窗口开始时间的算法存在问题。当timestamp - offset + windowSize < 0 时,元素会被错误地分配到比自身时间戳大一个WindowSize的窗口里去。 问题在org.apache.flink.streaming.api.windowing.windows.TimeWindow public static long getWindowStartWithOffset(long timestamp,