Skip to content
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

启动canal时,线程池工作异常 #771

Closed
sky-mariner opened this issue Jul 24, 2018 · 8 comments
Closed

启动canal时,线程池工作异常 #771

sky-mariner opened this issue Jul 24, 2018 · 8 comments

Comments

@sky-mariner
Copy link

2018-07-24 15:44:43.247 [destination = example , address = /22.5.229.239:3306 , EventParser] WARN c.a.otter.canal.parse.inbound.mysql.MysqlEventParser - prepare to find start position mysql-bin.000001:558240:null
2018-07-24 15:44:43.271 [destination = example , address = /22.5.229.239:3306 , EventParser] WARN c.a.otter.canal.parse.inbound.mysql.MysqlEventParser - find start position : EntryPosition[included=false,journalName=mysql-bin.000001,position=558240,serverId=,gtid=,timestamp=]
2018-07-24 15:44:43.331 [destination = example , address = /22.5.229.239:3306 , EventParser] WARN c.a.o.canal.parse.inbound.mysql.dbsync.DirectLogFetcher - Received EOF packet from server, apparent master disconnected. It's may be duplicate slaveId , check instance config
2018-07-24 15:45:00.446 [destination = example , address = /22.5.229.239:3306 , EventParser] WARN c.a.otter.canal.parse.inbound.mysql.MysqlEventParser - prepare to find start position just last position
{"identity":{"slaveId":-1,"sourceAddress":{"address":"cbjup04","port":3306}},"postion":{"gtid":"","included":false,"journalName":"mysql-bin.000001","position":559146,"serverId":16782861,"timestamp":1532417891000}}
2018-07-24 15:45:00.447 [destination = example , address = /22.5.229.239:3306 , EventParser] WARN c.a.otter.canal.parse.inbound.mysql.MysqlEventParser - find start position : EntryPosition[included=false,journalName=mysql-bin.000001,position=559146,serverId=16782861,gtid=,timestamp=1532417891000]
2018-07-24 15:45:00.453 [destination = example , address = /22.5.229.239:3306 , EventParser] WARN c.a.o.canal.parse.inbound.mysql.dbsync.DirectLogFetcher - Received EOF packet from server, apparent master disconnected. It's may be duplicate slaveId , check instance config
2018-07-24 15:45:18.422 [destination = example , address = /22.5.229.239:3306 , EventParser] WARN c.a.otter.canal.parse.inbound.mysql.MysqlEventParser - prepare to find start position just last position
{"identity":{"slaveId":-1,"sourceAddress":{"address":"cbjup04","port":3306}},"postion":{"gtid":"","included":false,"journalName":"mysql-bin.000001","position":559146,"serverId":16782861,"timestamp":1532417891000}}
2018-07-24 15:45:18.422 [destination = example , address = /22.5.229.239:3306 , EventParser] WARN c.a.otter.canal.parse.inbound.mysql.MysqlEventParser - find start position : EntryPosition[included=false,journalName=mysql-bin.000001,position=559146,serverId=16782861,gtid=,timestamp=1532417891000]
2018-07-24 15:45:18.426 [destination = example , address = /22.5.229.239:3306 , EventParser] WARN c.a.o.canal.parse.inbound.mysql.dbsync.DirectLogFetcher - Received EOF packet from server, apparent master disconnected. It's may be duplicate slaveId , check instance config
2018-07-24 15:45:18.440 [destination = example , address = /22.5.229.239:3306 , EventParser] ERROR c.a.otter.canal.parse.inbound.mysql.MysqlEventParser - parse events has an error
java.util.concurrent.RejectedExecutionException: Task com.lmax.disruptor.WorkProcessor@58d43d50 rejected from java.util.concurrent.ThreadPoolExecutor@56057cbf[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2048) ~[na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821) ~[na:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372) ~[na:1.7.0_45]
at com.lmax.disruptor.WorkerPool.start(WorkerPool.java:140) ~[disruptor-3.4.2.jar:na]
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlMultiStageCoprocessor.start(MysqlMultiStageCoprocessor.java:122) ~[canal.parse-1.0.26-SNAPSHOT.jar:na]
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlMultiStageCoprocessor.reset(MysqlMultiStageCoprocessor.java:187) ~[canal.parse-1.0.26-SNAPSHOT.jar:na]
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:306) ~[canal.parse-1.0.26-SNAPSHOT.jar:na]
at java.lang.Thread.run(Thread.java:744) ~[na:1.7.0_45]

@wingerx
Copy link
Collaborator

wingerx commented Jul 24, 2018

#756 相同的问题

@wingerx
Copy link
Collaborator

wingerx commented Jul 25, 2018

查到问题所在了。
@agapple 在 fix #726 issue时将 binlog_flags 设置为了 BINLOG_DUMP_NON_BLOCK,master在没有可发送的binlog event之后,就会返回一个EOF package. 通常对于slave来说,一直把连接挂着可能更好,这样能更及时收到新产生的binlog event,不知@agapple 基于什么考虑,将设置改成了 BINLOG_DUMP_NON_BLOCK?
或者说更优雅处理 EOF package,而不是打印一个误导的" Received EOF packet from server, apparent master disconnected. It's may be duplicate slaveId , check instance config" 日志信息出来?

wingerx pushed a commit to wingerx/canal that referenced this issue Jul 25, 2018
@sky-mariner
Copy link
Author

@wingerx 你好,我的问题主要是在下面,在创建parse的线程池的时候,总会报java.util.concurrent.RejectedExecutionException,而且pool size为0,我的服务器是4核的,按照parallelThreadSize的默认值为服务器总可用物理核数的60%,poolSize应该是2,而不是0。

@solo30years
Copy link

相同问题,楼主解决没

@sky-mariner
Copy link
Author

@fanpeng1100 没有,我的问题是调用线程池报错.....

@wingerx
Copy link
Collaborator

wingerx commented Jul 25, 2018

@sky-mariner 线程池报错的原因请看我提交的pr #777
对于目前最新release v1.0.26 alpha 4,先改配置 canal.instance.parser.parallel = false 用吧

wingerx pushed a commit to wingerx/canal that referenced this issue Jul 25, 2018
@sky-mariner
Copy link
Author

@wingerx 好的,谢谢~’

agapple added a commit that referenced this issue Jul 26, 2018
@agapple
Copy link
Member

agapple commented Jul 26, 2018

@wingerx 正解

@agapple agapple closed this as completed Jul 26, 2018
lcybo pushed a commit to lcybo/canal that referenced this issue Jul 26, 2018
lcybo pushed a commit to lcybo/canal that referenced this issue Jul 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants