开发者社区> 问答> 正文

canal.instance.filter.regex过滤不生效

我启用了kafka模式 canal.serverMode = kafka

这是我的instance.properties配置 canal.instance.filter.regex=user_center\..* canal.instance.filter.black.regex= canal.mq.topic=user_center canal.mq.dynamicTopic=user_center\..* canal.mq.partition=0

启动日志中打印的过滤表达式

WARN c.a.o.canal.parse.inbound.mysql.dbsync.LogEventConvert - --> init table filter : ^user_center..*$ WARN c.a.o.canal.parse.inbound.mysql.dbsync.LogEventConvert - --> init table black filter :

但是向kafka发送的都是下面这些消息,并不是user_center库的日志,kafka中也只生成了user_center这个topic,没有生成表对应的topic

DEBUG com.alibaba.otter.canal.kafka.CanalKafkaProducer - Send message to kafka topic: [user_center], packet: ProducerRecord(topic=user_center, partition=0, headers=RecordHeaders(headers = [], isReadOnly = true), key=null, value={"data":null,"database":"","es":1574427377000,"id":26,"isDdl":false,"mysqlType":null,"old":null,"pkNames":null,"sql":"UPDATE DTS_JOB_QRTZ_TRIGGERS SET TRIGGER_STATE = 'ACQUIRED' WHERE SCHED_NAME = 'quartzScheduler' AND TRIGGER_NAME = '201703171914390653' AND TRIGGER_GROUP = 'test' AND TRIGGER_STATE = 'WAITING'","sqlType":null,"table":"DTS_JOB_QRTZ_TRIGGERS","ts":1574668186110,"type":"QUERY"}, timestamp=null)

原提问者GitHub用户netrous

展开
收起
Java工程师 2023-05-03 12:33:44 250 0
1 条回答
写回答
取消 提交回答
  • 开启了binlog_rows_query_log_events事件,该事件不受白名单控制,所以会受到type为query的时间信息

    数据库是否开启了binlog_rows_query_log_events?如果开启了的话那么该事件的消息就不会通过白名单过滤,目前我是通过改源码重新打包的

    原回答者GitHub用户wyoldfour

    2023-05-04 16:16:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载