[ https://issues.apache.org/jira/browse/FLINK-20885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17261050#comment-17261050 ]
wangfei commented on FLINK-20885: --------------------------------- I have modified the code locally to fix this bug, and if you do, it is recommended that canal-json.database.include and canal-json.table.include support regular matching, and contain relationships rather than equal relationships. Filter isDdl=true for all binlogs that have an alter or create error. 我在本地修改了代码 来解决这个bug,如果你们来解决的话,建议canal-json.database.include 和 canal-json.table.include 应该支持正则匹配,应该是包含关系 而不是等于关系。并且如果有alter 或者create 等binlog也会报错,建议过滤掉isDdl=true的binlog。 > Exception when use 'canal-json.table.include' to filter Canal binlog but > table contains 'source' column > ------------------------------------------------------------------------------------------------------- > > Key: FLINK-20885 > URL: https://issues.apache.org/jira/browse/FLINK-20885 > Project: Flink > Issue Type: Bug > Components: Formats (JSON, Avro, Parquet, ORC, SequenceFile), Table > SQL / Ecosystem > Reporter: Jark Wu > Priority: Major > Attachments: image-2021-01-08-14-52-53-443.png, screenshot-1.png > > > I found a bug in the canal code. 'canal-json.table.include' does not filter > out the binlog of the specified table correctly, which will cause an error in > the parsing section. For example, if I want to read the binlog of > canal-json.table.include = 'a' table, there is a source field of int in table > a, but at this time if table b also has a source field of string, An error > will be reported. > !screenshot-1.png! -- This message was sent by Atlassian Jira (v8.3.4#803005)