motan icon indicating copy to clipboard operation
motan copied to clipboard

consul做注册中心,服务运行正常,但日志一直会报OperationException: null,望指教

Open CSJ0827 opened this issue 8 years ago • 5 comments

ERROR consul heartbeat-set check pass error!serviceid:192.168.19.164:8002-com.tt.demo.app.service.IDemoService com.ecwid.consul.v1.OperationException: null at com.ecwid.consul.v1.agent.AgentConsulClient.agentCheckPass(AgentConsulClient.java:149) at com.ecwid.consul.v1.agent.AgentConsulClient.agentCheckPass(AgentConsulClient.java:138) at com.ecwid.consul.v1.ConsulClient.agentCheckPass(ConsulClient.java:162) at com.weibo.api.motan.registry.consul.client.ConsulEcwidClient.checkPass(ConsulEcwidClient.java:29) at com.weibo.api.motan.registry.consul.ConsulHeartbeatManager$HeartbeatJob.run(ConsulHeartbeatManager.java:153) 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)

CSJ0827 avatar Mar 27 '17 05:03 CSJ0827

看异常是server向consul上报心跳失败,可以确认一下是否请求consul checkpass超时,或者consul中没有对应的server信息。

rayzhang0603 avatar Mar 27 '17 06:03 rayzhang0603

public final class AgentConsulClient implements AgentClient public Response<Void> agentCheckPass(String checkId, String note) { SingleUrlParameters noteParams = note != null?new SingleUrlParameters("note", note):null; RawResponse rawResponse = this.rawClient.makeGetRequest("/v1/agent/check/pass/" + checkId, new UrlParameters[]{noteParams}); if(rawResponse.getStatusCode() == 200) { return new Response((Object)null, rawResponse); } else { throw new OperationException(rawResponse); } }

程序运行中一般情况下 rawResponse.getStatusCode()==200 运行正常 ,偶尔会出现500 抛出异常上面的异常,问题很奇怪,不是一直出现,偶尔出现,频率大约10分钟一次; 在加了motan的多个服务上都出现这个问题

CSJ0827 avatar Mar 27 '17 08:03 CSJ0827

如果同样的请求参数,consul agent会返回不同的状态码,我觉得可能跟consul agent或者consul集群的配置有关

rayzhang0603 avatar Mar 27 '17 08:03 rayzhang0603

我的是三台服务上有两台报下面这个错误,一台什么错误也没有。很奇怪 consul.v1.OperationException: OperationException(statusCode=500, statusMessa

wangshaohan1989 avatar May 15 '20 13:05 wangshaohan1989