-
Notifications
You must be signed in to change notification settings - Fork 1k
执行大事务时出现binlog解析失败 #396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
when resyncing,
In MySQL, when a slave connecting to a master, the master will always send a fake RotateEvent (with
this is the cause of the problem (or it's a bug). when canal got a RotateEvent from If you like, you can fix this under |
check if local pos equal to rotate event pos.if equal , may be a fake rotate event, do not update persistent pos and just continue |
may be the same question in this issue #323 |
现象:Err: table id 267724937: invalid table id, no corresponding table map event"
当binlog同步过程中出现网络错误导致重连resync的时候,mysql会向canal发送rorate 事件更新当前的Pos. 如果此时重启了canal。canal将从当前保存的这个位置开始继续同步。但是由于当前这条binlog所对应的table id获取不到,会出现no corresponding table map even 错误。
对应的binlog如下
由于执行了delete from table 操作,导致产生大量binlog。table map event已经被解析完成,同时由于resync,导致pos被更新到 table map event事件之后。重启之后获取不到table map 就会导致 invalid table id 的报错
The text was updated successfully, but these errors were encountered: