Re: flink cdc 3.0 schema evolution原理是怎样的?

2023-12-27 文章 Jiabao Sun
Hi, 是的,目前来说会 block 住。 flush + apply schema change 一般来说不会持续太长时间, 且 schema 变更一般来说是低频事件,即使 block 也不会有太大性能影响。 Best, Jiabao > 2023年12月28日 12:57,casel.chen 写道: > > > > > 感谢解惑! > 还有一个问题:如果一个 pipeline 涉及多张表数据同步,而只有一个表出现 schema 变更的话,其他表的数据处理也会 block 住吗? > > > > > > > > > 在 2023-12-28

Re:Re: flink cdc 3.0 schema evolution原理是怎样的?

2023-12-27 文章 casel.chen
感谢解惑! 还有一个问题:如果一个 pipeline 涉及多张表数据同步,而只有一个表出现 schema 变更的话,其他表的数据处理也会 block 住吗? 在 2023-12-28 01:16:40,"Jiabao Sun" 写道: >Hi, > >> 为什么最后output.collect(new StreamRecord<>(schemaChangeEvent)); >> 还要发送一次SchemaChangeEvent呢? > >Sink 也会收到 SchemaChangeEvent,因为 Sink 可能需要根据 Schema 变更的情况来调整

Re: flink cdc 3.0 schema evolution原理是怎样的?

2023-12-27 文章 Jiabao Sun
Hi, > 为什么最后output.collect(new StreamRecord<>(schemaChangeEvent)); > 还要发送一次SchemaChangeEvent呢? Sink 也会收到 SchemaChangeEvent,因为 Sink 可能需要根据 Schema 变更的情况来调整 serializer 或 writer,参考 DorisEventSerializer > 最后一行requestReleaseUpstream()执行被block的原因是什么?是如何hold upstream然后再release > upstream的呢? 被 block

flink cdc 3.0 schema evolution原理是怎样的?

2023-12-27 文章 casel.chen
看了infoq介绍flink cdc 3.0文章 https://xie.infoq.cn/article/a80608df71c5291186153600b,我对其中schema. evolution设计原理想不明白,框架是如何做到schema change顺序性的。文章介绍得并不详细。 从mysql binlog产生changeEvent来看,所有的变更都是时间线性的,例如s1, d1, d2, s2, d3, d4, d5, s3, d6 其中d代表数据变更,s代表schema变更 这意味着d1,d2使用的是s1 schema,而d3~d5用的是s2