You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 卢伟楠 <gl...@gmail.com> on 2019/12/25 08:09:03 UTC
Flink实现Kafka到Mysql的 End-To-End Exactly-Once中遇到的问题
各位大佬好:
最近是实现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的事务提交出问题,已经做过相关测试排除不是由此引起的问题
回复: Re: Flink实现Kafka到Mysql的 End-To-End Exactly-Once中遇到的问题
Posted by "hdxg1101300123@163.com" <hd...@163.com>.
我参考你的代码,也遇到了同样的问题,有什么好的方法吗?
hdxg1101300123@163.com
发件人: 卢伟楠
发送时间: 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 <77...@qq.com> 写道:
>
> 对于第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"<shenleifighting@gmail.com>;
> 发送时间: 2019年12月26日(星期四) 中午11:35
> 收件人: "user-zh"<user-zh@flink.apache.org>;
>
> 主题: Re: Flink实现Kafka到Mysql的 End-To-End Exactly-Once中遇到的问题
>
>
>
> 是否可以尝试使用幂等来解决 端到端的一致性
>
> Best wishes,
> 沈磊
>
> 卢伟楠 <glusecond@gmail.com> 于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的事务提交出问题,已经做过相关测试排除不是由此引起的问题
Re: Flink实现Kafka到Mysql的 End-To-End Exactly-Once中遇到的问题
Posted by 卢伟楠 <gl...@gmail.com>.
我发这个用于测试的代码,里面的mysql-connector-java已经是最新的了,由于使用mysql-connector-java老版本趟过的坑已经处理过一遍了
> 在 2020年1月3日,下午3:13,残翅2008 <77...@qq.com> 写道:
>
> 对于第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"<shenleifighting@gmail.com>;
> 发送时间: 2019年12月26日(星期四) 中午11:35
> 收件人: "user-zh"<user-zh@flink.apache.org>;
>
> 主题: Re: Flink实现Kafka到Mysql的 End-To-End Exactly-Once中遇到的问题
>
>
>
> 是否可以尝试使用幂等来解决 端到端的一致性
>
> Best wishes,
> 沈磊
>
> 卢伟楠 <glusecond@gmail.com> 于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的事务提交出问题,已经做过相关测试排除不是由此引起的问题
回复: Flink实现Kafka到Mysql的 End-To-End Exactly-Once中遇到的问题
Posted by 残翅2008 <77...@qq.com>.
对于第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"<shenleifighting@gmail.com>;
发送时间: 2019年12月26日(星期四) 中午11:35
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: Re: Flink实现Kafka到Mysql的 End-To-End Exactly-Once中遇到的问题
是否可以尝试使用幂等来解决 端到端的一致性
Best wishes,
沈磊
卢伟楠 <glusecond@gmail.com> 于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的事务提交出问题,已经做过相关测试排除不是由此引起的问题
Re: Flink实现Kafka到Mysql的 End-To-End Exactly-Once中遇到的问题
Posted by LakeShen <sh...@gmail.com>.
是否可以尝试使用幂等来解决 端到端的一致性
Best wishes,
沈磊
卢伟楠 <gl...@gmail.com> 于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的事务提交出问题,已经做过相关测试排除不是由此引起的问题