2022/12/06 菜鸟记录.
场景1: Flink任务1: 监听Kafka TopicA 修改表1某条数据的a字段.
Flink任务2: 监听Kafka TopicB 修改表1某条数据的b字段.
当后端人员同时向TopicA和TopicB发送数据, 两个任务对 Doris 的 update 并发执行, 发生报错.
场景2: Flink 自定义 Sink, 用 jdbc 方式连接 Doris, 流式进行 update, 并行度为2. 发生报错.
报错: java.sql.SQLException: errCode = 2, detailMessage = There is an update operation in progress for the current table. Please try again later, or set enable_concurrent_update in fe.conf to true.
背景: Flink版本 1.14.4
Doris版本 1.1.0
原因: 默认情况下, Doris 不允许同一时间对同一张表并发进行多个 update 操作. 场景1, 2都是对 Doris 的并发修改, 场景2用 Flink 流式修改速度过快, 上一次 update 没完成, 下一次 update 已经发送.
解决: 修改 FE 配置文件 fe.conf, 添加 enable_concurrent_update = true. 将 Doris 的并发 update 打开.
文章来源:https://www.toymoban.com/news/detail-420185.html
场景2也可以不改配置, 将 Sink 的并行度设置为1. 并在每次 update 之后 sleep 一下.文章来源地址https://www.toymoban.com/news/detail-420185.html
到了这里,关于Flink 并发或短时间频繁修改 Doris 同一张表, 报错: There is an update operation in progress for the current table.的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!