motan icon indicating copy to clipboard operation
motan copied to clipboard

1.1.0使用consul做注册中心报OperationException错误

Open zfvipgit opened this issue 8 years ago • 8 comments

2017-12-13 12:34:15.103 ERROR 25532 --- [pool-5-thread-3] error : consul heartbeat-set check pass error!serviceid:192.168.1.126:8313-com.xtr.appapi.api.service.client.ClientOperateLogsService

com.ecwid.consul.v1.OperationException: OperationException(statusCode=500, statusMessage='Internal Server Error', statusContent='CheckID "service:192.168.1.126:8313-com.xtr.appapi.api.service.client.ClientOperateLogsService" does not have associated TTL') at com.ecwid.consul.v1.agent.AgentConsulClient.agentCheckPass(AgentConsulClient.java:211) ~[consul-api-1.3.0.jar:na] at com.ecwid.consul.v1.agent.AgentConsulClient.agentCheckPass(AgentConsulClient.java:198) ~[consul-api-1.3.0.jar:na] at com.ecwid.consul.v1.agent.AgentConsulClient.agentCheckPass(AgentConsulClient.java:193) ~[consul-api-1.3.0.jar:na] at com.ecwid.consul.v1.ConsulClient.agentCheckPass(ConsulClient.java:258) ~[consul-api-1.3.0.jar:na] at com.weibo.api.motan.registry.consul.client.ConsulEcwidClient.checkPass(ConsulEcwidClient.java:31) ~[motan-registry-consul-1.1.0.jar:na] at com.weibo.api.motan.registry.consul.ConsulHeartbeatManager$HeartbeatJob.run(ConsulHeartbeatManager.java:153) ~[motan-registry-consul-1.1.0.jar:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_79] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_79] at java.lang.Thread.run(Thread.java:745) [na:1.7.0_79]

zfvipgit avatar Dec 13 '17 04:12 zfvipgit

能详细描述一下出现的场景吗?是系统启动后首次心跳出现,还是注册成功后偶发出现,或者持续出现?

rayzhang0603 avatar Dec 13 '17 05:12 rayzhang0603

服务启动后持续出现这个问题

zfvipgit avatar Dec 13 '17 05:12 zfvipgit

那应该是注册服务失败了,可以通过consul agent看看是否成功注册了这个192.168.1.126:8313-com.xtr.appapi.api.service.client.ClientOperateLogsService这个service 另外consul agent重启也可能出现这个问题

rayzhang0603 avatar Dec 13 '17 06:12 rayzhang0603

@zfvipgit @rayzhang0603 这个问题解决了吗?我也是持续出现该错误,服务运行几天就会出现。

HopscotchSen avatar Sep 26 '19 01:09 HopscotchSen

@zfvipgit @rayzhang0603 这个问题解决了吗?我也是持续出现该错误,服务运行几天就会出现。

已经解决了,需要改下源码,其实不影响使用的

zfvipgit avatar Sep 26 '19 01:09 zfvipgit

为什么不影响使用?注册服务已经从consul中消失,无法再次被调用到,除非重启服务。

HopscotchSen avatar Sep 26 '19 01:09 HopscotchSen

我们现在已经不用consul了,用的zookeeper没有这个问题,你可以自己看下源码,看看抛错的地方,改下就好了

zfvipgit avatar Sep 26 '19 01:09 zfvipgit

我不确定应该调整什么,源码是AgentConsulClient的方法agentCheckPass(String checkId, String note, String token)在访问consul-server,但是判断是status != 200即抛出异常,异常抛出后无法再次注册了。 谢谢。 @zfvipgit

HopscotchSen avatar Sep 26 '19 01:09 HopscotchSen