rolandhe / hiriver

hiriver是纯java开发的、高性能的、基于解析mysql row base binlog技术实现的用于监控mysql数据变化并分发这些变化的框架。支持几乎所有的数据类型,包括枚举、集合和bit类型。
245 stars 81 forks source link

新问题:rename表的问题 #4

Closed listen-zhou closed 5 years ago

listen-zhou commented 5 years ago

有些数据库会建一个临时表,然后将临时表rename成为正式表,然后再将临时表删除,这各操作是连贯执行的,档binlog解析程序解析到临时表的时候,发现表不存在,就会报错,这个应该怎么规避,遇到表不存在的情况,像见下图。

image 这个报错成了一个死循环,这个pos一直跳不过去,释放资源后,重新load断点后会是会加载这个pos,结果还是一样的报错,进行不下去,是不是不要释放资源,直接运行下去?

listen-zhou commented 5 years ago

image

listen-zhou commented 5 years ago

image

遇到这样的问题,临时表rename为正式表的情况,我觉得可以跳过这个异常,本身临时表就是临时出现,不知道你有何高见。

rolandhe commented 5 years ago

设置黑名单,把这些临时表过滤掉。

------------------ 原始邮件 ------------------ 发件人: 周梦强 <notifications@github.com> 发送时间: 2019年9月4日 09:15 收件人: rolandhe/hiriver <hiriver@noreply.github.com> 抄送: Subscribed <subscribed@noreply.github.com> 主题: 回复:[rolandhe/hiriver] 新问题:rename表的问题 (#4)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

rolandhe commented 5 years ago

白名单,通过表名过滤,支持正则,表名必须是 库名.表名格式

table.white=rpl.*

黑名单,通过表明过滤,支持正则,表名必须是 库名.表名格式

table.black=

你可以设置黑名单来解决。

listen-zhou commented 5 years ago

ok,谢谢。