weibocom / motan

A cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services.
Other
5.89k stars 1.78k forks source link

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

Open zfvipgit opened 6 years ago

zfvipgit commented 6 years ago

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]

rayzhang0603 commented 6 years ago

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

zfvipgit commented 6 years ago

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

rayzhang0603 commented 6 years ago

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

HopscotchSen commented 5 years ago

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

zfvipgit commented 5 years ago

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

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

HopscotchSen commented 5 years ago

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

zfvipgit commented 5 years ago

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

HopscotchSen commented 5 years ago

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