各位大佬好:
最近是实现Kafka到Mysql的 End-To-End Exactly-Once中遇到以下2个问题: 1:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communications link failure during commit(). Transaction resolution unknown. 2:org.apache.flink.streaming.runtime.tasks.TimerException: org.apache.flink.streaming.runtime.tasks.ExceptionInChainedOperatorException: Could not forward element to next operator 已经做了一个最简单的复现问题的demo,求指教 git clone https://github.com/lusecond/flink_help --depth=1 测试过程中,发现继承TwoPhaseCommitSinkFunction类的4个重写方法beginTransaction、preCommit、commit、abort 分别在不同的线程工作,怀疑过因为线程切换导致jdbc的事务提交出问题,已经做过相关测试排除不是由此引起的问题 |
是否可以尝试使用幂等来解决 端到端的一致性
Best wishes, 沈磊 卢伟楠 <[hidden email]> 于2019年12月25日周三 下午4:09写道: > 各位大佬好: > > 最近是实现Kafka到Mysql的 End-To-End Exactly-Once中遇到以下2个问题: > 1:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: > Communications link failure during commit(). Transaction resolution unknown. > 2:org.apache.flink.streaming.runtime.tasks.TimerException: > org.apache.flink.streaming.runtime.tasks.ExceptionInChainedOperatorException: > Could not forward element to next operator > > 已经做了一个最简单的复现问题的demo,求指教 > git clone https://github.com/lusecond/flink_help --depth=1 > > > 测试过程中,发现继承TwoPhaseCommitSinkFunction类的4个重写方法beginTransaction、preCommit、commit、abort > 分别在不同的线程工作,怀疑过因为线程切换导致jdbc的事务提交出问题,已经做过相关测试排除不是由此引起的问题 |
对于第1个问题尝试使用mysql-connector-java的latest版本
我之前使用5.1.6版本遇到同样的问题 改为5.1.48比较稳定 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.48</version> </dependency> ------------------ 原始邮件 ------------------ 发件人: "LakeShen"<[hidden email]>; 发送时间: 2019年12月26日(星期四) 中午11:35 收件人: "user-zh"<[hidden email]>; 主题: Re: Flink实现Kafka到Mysql的 End-To-End Exactly-Once中遇到的问题 是否可以尝试使用幂等来解决 端到端的一致性 Best wishes, 沈磊 卢伟楠 <[hidden email]> 于2019年12月25日周三 下午4:09写道: > 各位大佬好: > > 最近是实现Kafka到Mysql的 End-To-End Exactly-Once中遇到以下2个问题: > 1:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: > Communications link failure during commit(). Transaction resolution unknown. > 2:org.apache.flink.streaming.runtime.tasks.TimerException: > org.apache.flink.streaming.runtime.tasks.ExceptionInChainedOperatorException: > Could not forward element to next operator > > 已经做了一个最简单的复现问题的demo,求指教 > git clone https://github.com/lusecond/flink_help --depth=1 > > > 测试过程中,发现继承TwoPhaseCommitSinkFunction类的4个重写方法beginTransaction、preCommit、commit、abort > 分别在不同的线程工作,怀疑过因为线程切换导致jdbc的事务提交出问题,已经做过相关测试排除不是由此引起的问题 |
我发这个用于测试的代码,里面的mysql-connector-java已经是最新的了,由于使用mysql-connector-java老版本趟过的坑已经处理过一遍了
> 在 2020年1月3日,下午3:13,残翅2008 <[hidden email]> 写道: > > 对于第1个问题尝试使用mysql-connector-java的latest版本 > 我之前使用5.1.6版本遇到同样的问题 > 改为5.1.48比较稳定 > <dependency> > <groupId>mysql</groupId> > <artifactId>mysql-connector-java</artifactId> > <version>5.1.48</version> > </dependency> > > > > > > ------------------ 原始邮件 ------------------ > 发件人: "LakeShen"<[hidden email]>; > 发送时间: 2019年12月26日(星期四) 中午11:35 > 收件人: "user-zh"<[hidden email]>; > > 主题: Re: Flink实现Kafka到Mysql的 End-To-End Exactly-Once中遇到的问题 > > > > 是否可以尝试使用幂等来解决 端到端的一致性 > > Best wishes, > 沈磊 > > 卢伟楠 <[hidden email]> 于2019年12月25日周三 下午4:09写道: > > > 各位大佬好: > > > > 最近是实现Kafka到Mysql的 End-To-End Exactly-Once中遇到以下2个问题: > > 1:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: > > Communications link failure during commit(). Transaction resolution unknown. > > 2:org.apache.flink.streaming.runtime.tasks.TimerException: > > org.apache.flink.streaming.runtime.tasks.ExceptionInChainedOperatorException: > > Could not forward element to next operator > > > > 已经做了一个最简单的复现问题的demo,求指教 > > git clone https://github.com/lusecond/flink_help --depth=1 > > > > > > 测试过程中,发现继承TwoPhaseCommitSinkFunction类的4个重写方法beginTransaction、preCommit、commit、abort > > 分别在不同的线程工作,怀疑过因为线程切换导致jdbc的事务提交出问题,已经做过相关测试排除不是由此引起的问题 |
我参考你的代码,也遇到了同样的问题,有什么好的方法吗?
[hidden email] 发件人: 卢伟楠 发送时间: 2020-01-03 15:18 收件人: user-zh 主题: Re: Flink实现Kafka到Mysql的 End-To-End Exactly-Once中遇到的问题 我发这个用于测试的代码,里面的mysql-connector-java已经是最新的了,由于使用mysql-connector-java老版本趟过的坑已经处理过一遍了 > 在 2020年1月3日,下午3:13,残翅2008 <[hidden email]> 写道: > > 对于第1个问题尝试使用mysql-connector-java的latest版本 > 我之前使用5.1.6版本遇到同样的问题 > 改为5.1.48比较稳定 > <dependency> > <groupId>mysql</groupId> > <artifactId>mysql-connector-java</artifactId> > <version>5.1.48</version> > </dependency> > > > > > > ------------------ 原始邮件 ------------------ > 发件人: "LakeShen"<[hidden email]>; > 发送时间: 2019年12月26日(星期四) 中午11:35 > 收件人: "user-zh"<[hidden email]>; > > 主题: Re: Flink实现Kafka到Mysql的 End-To-End Exactly-Once中遇到的问题 > > > > 是否可以尝试使用幂等来解决 端到端的一致性 > > Best wishes, > 沈磊 > > 卢伟楠 <[hidden email]> 于2019年12月25日周三 下午4:09写道: > > > 各位大佬好: > > > > 最近是实现Kafka到Mysql的 End-To-End Exactly-Once中遇到以下2个问题: > > 1:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: > > Communications link failure during commit(). Transaction resolution unknown. > > 2:org.apache.flink.streaming.runtime.tasks.TimerException: > > org.apache.flink.streaming.runtime.tasks.ExceptionInChainedOperatorException: > > Could not forward element to next operator > > > > 已经做了一个最简单的复现问题的demo,求指教 > > git clone https://github.com/lusecond/flink_help --depth=1 > > > > > > 测试过程中,发现继承TwoPhaseCommitSinkFunction类的4个重写方法beginTransaction、preCommit、commit、abort > > 分别在不同的线程工作,怀疑过因为线程切换导致jdbc的事务提交出问题,已经做过相关测试排除不是由此引起的问题 |
Free forum by Nabble | Edit this page |