environment
- canal version v1.1.8
- mysql version v5.7
问题是:
我们修改了canal的一个instance实例配置 增加了一个bindTime字段监听
按照之前经验,就会热加载生效了,但是这次实际没有,报错如下:
2026-03-25 11:40:42.808 [canal-instance-scan-0] ERROR c.a.o.c.common.zookeeper.running.ServerRunningMonitor - processActiveExit failed
java.lang.NullPointerException: null
at com.alibaba.otter.canal.server.CanalMQStarter$CanalMQRunnable.stop(CanalMQStarter.java:245)
at com.alibaba.otter.canal.server.CanalMQStarter.stopDestination(CanalMQStarter.java:128)
at com.alibaba.otter.canal.deployer.CanalController$1.processActiveExit(CanalController.java:179)
at com.alibaba.otter.canal.common.zookeeper.running.ServerRunningMonitor.processActiveExit(ServerRunningMonitor.java:254)
at com.alibaba.otter.canal.common.zookeeper.running.ServerRunningMonitor.releaseRunning(ServerRunningMonitor.java:212)
at com.alibaba.otter.canal.common.zookeeper.running.ServerRunningMonitor.stop(ServerRunningMonitor.java:131)
at com.alibaba.otter.canal.deployer.CanalController$2.stop(CanalController.java:267)
at com.alibaba.otter.canal.deployer.CanalController$2.reload(CanalController.java:276)
at com.alibaba.otter.canal.deployer.monitor.SpringInstanceConfigMonitor.notifyReload(SpringInstanceConfigMonitor.java:192)
at com.alibaba.otter.canal.deployer.monitor.SpringInstanceConfigMonitor.scan(SpringInstanceConfigMonitor.java:129)
at com.alibaba.otter.canal.deployer.monitor.SpringInstanceConfigMonitor.lambda$start$0(SpringInstanceConfigMonitor.java:55)
at com.alibaba.otter.canal.deployer.monitor.SpringInstanceConfigMonitor$$Lambda$241/363397863.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2026-03-25 11:40:42.815 [canal-instance-scan-0] INFO com.alibaba.otter.canal.deployer.CanalController - auto notify stop account-instance successful.
2026-03-25 11:40:42.950 [canal-instance-scan-0] INFO com.alibaba.otter.canal.deployer.CanalController - auto notify start account-instance successful.
2026-03-25 11:40:42.950 [canal-instance-scan-0] INFO com.alibaba.otter.canal.deployer.CanalController - auto notify reload account-instance successful.
报了java空指针错误,并且还显示热加载成功,实际我们验证是没有成功的,热加载失效的,后来重新启动canal才生效,麻烦官方看看这个bug,之前1.1.4 1.1.6版本都是没有这个问题的
environment
问题是:
我们修改了canal的一个instance实例配置 增加了一个bindTime字段监听
按照之前经验,就会热加载生效了,但是这次实际没有,报错如下:
2026-03-25 11:40:42.808 [canal-instance-scan-0] ERROR c.a.o.c.common.zookeeper.running.ServerRunningMonitor - processActiveExit failed
java.lang.NullPointerException: null
at com.alibaba.otter.canal.server.CanalMQStarter$CanalMQRunnable.stop(CanalMQStarter.java:245)
at com.alibaba.otter.canal.server.CanalMQStarter.stopDestination(CanalMQStarter.java:128)
at com.alibaba.otter.canal.deployer.CanalController$1.processActiveExit(CanalController.java:179)
at com.alibaba.otter.canal.common.zookeeper.running.ServerRunningMonitor.processActiveExit(ServerRunningMonitor.java:254)
at com.alibaba.otter.canal.common.zookeeper.running.ServerRunningMonitor.releaseRunning(ServerRunningMonitor.java:212)
at com.alibaba.otter.canal.common.zookeeper.running.ServerRunningMonitor.stop(ServerRunningMonitor.java:131)
at com.alibaba.otter.canal.deployer.CanalController$2.stop(CanalController.java:267)
at com.alibaba.otter.canal.deployer.CanalController$2.reload(CanalController.java:276)
at com.alibaba.otter.canal.deployer.monitor.SpringInstanceConfigMonitor.notifyReload(SpringInstanceConfigMonitor.java:192)
at com.alibaba.otter.canal.deployer.monitor.SpringInstanceConfigMonitor.scan(SpringInstanceConfigMonitor.java:129)
at com.alibaba.otter.canal.deployer.monitor.SpringInstanceConfigMonitor.lambda$start$0(SpringInstanceConfigMonitor.java:55)
at com.alibaba.otter.canal.deployer.monitor.SpringInstanceConfigMonitor$$Lambda$241/363397863.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2026-03-25 11:40:42.815 [canal-instance-scan-0] INFO com.alibaba.otter.canal.deployer.CanalController - auto notify stop account-instance successful.
2026-03-25 11:40:42.950 [canal-instance-scan-0] INFO com.alibaba.otter.canal.deployer.CanalController - auto notify start account-instance successful.
2026-03-25 11:40:42.950 [canal-instance-scan-0] INFO com.alibaba.otter.canal.deployer.CanalController - auto notify reload account-instance successful.
报了java空指针错误,并且还显示热加载成功,实际我们验证是没有成功的,热加载失效的,后来重新启动canal才生效,麻烦官方看看这个bug,之前1.1.4 1.1.6版本都是没有这个问题的