Flink CDC中mysql cdc 报这种错误的时候异常为什么不抛出?ERROR io.debezium.connector.mysql.MySqlStreamingChangeEventSource [] - Encountered change event 'Event{header=EventHeaderV4{timestamp=1698389411000, eventType=TABLE_MAP, serverId=3436, headerLength=19, dataLength=107, nextPosition=664677625, flags=0}, data=TableMapEventData{tableId=48661632, database='autotest', table='autotest_alltype_1', columnTypes=3, 1, 2, 9, 3, 8, 4, 5, -10, 10, 19, 18, 17, 13, -2, 15, -2, 15, -4, -4, -4, -4, -4, -4, -4, -4, -2, -2, 17, 17, columnMetadata=0, 0, 0, 0, 0, 0, 4, 8, 522, 0, 0, 0, 0, 0, 65054, 150, 65034, 50, 1, 2, 3, 4, 1, 2, 3, 4, 63233, 63489, 0, 0, columnNullability={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27}, eventMetadata=null}}' at offset {transaction_id=null, file=bin.001053, pos=664668039, gtids=7df3fe48-0640-11ed-99eb-005056b88154:1-720952314, server_id=3436, event=14} for table autotest.autotest_alltype_1 whose schema isn't known to this connector. One possible cause is an incomplete database history topic. Take a new snapshot in this case.
Use the mysqlbinlog tool to view the problematic event: mysqlbinlog --start-position=664677499 --stop-position=664677625 --verbose bin.001053
2023-10-27 14:50:11,693 ERROR io.debezium.connector.mysql.MySqlStreamingChangeEventSource [] - Error during binlog processing. Last offset stored = null, binlog reader near position = bin.001053/664677499error级别,而且数据都对不上了为什么不抛出呢?debezium.inconsistent.schema.handling.mode 默认就是fail,又不是改成warn什么的
这个错误信息看起来是在处理MySQL的binlog时出现了问题。问题可能在于Debezium无法识别某个表的结构,可能是因为数据库历史主题不完整。
在这种情况下,Debezium建议用户使用mysqlbinlog
工具查看有问题的事件。同时,也提醒用户可能需要重新获取一个新的快照。
至于为什么没有抛出异常,可能是因为Debezium在处理这种问题时,选择了一种特殊的处理方式,即不直接抛出异常,而是记录一个错误日志,以便于开发者排查问题。这可能是因为Debezium认为这种错误并不是致命的错误,或者是为了避免频繁的异常抛出影响系统的稳定性。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。