首先看日志:
`2016-09-27 11:01:06:com.alibaba.otter.canal.client.impl.ClusterCanalConnector.subscribe(ClusterCanalConnector.java:110) - something goes wrong when subscribing from server:null com.alibaba.otter.canal.protocol.exception.CanalClientException: failed to subscribe with reason: something goes wrong with channel:[id: 0x111fe04e, /10.204.12.79:47450 => /10.204.246.102:11111], exceptio n=com.alibaba.otter.canal.server.exception.CanalServerException: destination:ucarobd should start first
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.subscribe(SimpleCanalConnector.java:203)
at com.alibaba.otter.canal.client.impl.ClusterCanalConnector.subscribe(ClusterCanalConnector.java:106)
at com.alibaba.otter.canal.client.impl.ClusterCanalConnector.subscribe(ClusterCanalConnector.java:99)
at com.ucar.dep.exchange.binlog.AbstractCanalClient$ProcessThread.process(AbstractCanalClient.java:142)
at com.ucar.dep.exchange.binlog.AbstractCanalClient$ProcessThread.run(AbstractCanalClient.java:134)`
通过分析代码,“should start first”这样的异常信息在subscribing的时候是不会触发的,可是我的日志文件里出现了这样的日志,分析了一天代码了,让我百思不得其解,请问作者能提供点儿什么思路吗?
原提问者GitHub用户lulu2panpan
这异常一般是server端出现了重启导致,比如开启了scan=true,扫描到了文件变化,自动重载,客户端增加重试机制就好了。 客户端的第一次subscribe会触发服务端进行start操作
原回答者GitHub用户agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。