New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
异常报错,突然假死 #507
Comments
确定zk和motan注册的服务是正常的吗? |
client端异常信息No available referers for call : referers_size=2 表示从注册中心发现的server节点有两个,但是两个节点的请求都连续失败10次被client端保护策略置为不可用了。 |
你好,请问下这个client端的保护策略如何配置?或者说不可用后如何发现并处理。 服务端配置文件
客户端配置
<motan:referer id="riskRuleRpcServiceAsync" |
@rayzhang0603 服务端是部署在tomcat里面,出问题时tomcat进程在的,zk上注册的服务也在,但是日志里未发现明显报错或者异常。 |
client端保护策略不能配置。具体策略:连续请求失败10次,会将对应server节点标记为不可用,后续的请求就不会继续调用这个节点;同时会周期性(500ms)对此节点发送心跳包进行探测,如果处理正常处理心跳请求就会自动恢复可用。 可以看看client端有没有降级及恢复的日志。同时看看client和server端是否有可疑warn和error 日志、server端的业务处理是否正常、gc是否异常、io线程是否正常 |
的确有降级和恢复日志,但是最后一次降级以后就没有恢复日志了 |
java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: com.weibo.api.motan.exception.MotanServiceException client端这个类为什么没有呢? |
我们用了motan的异步功能,看日志感觉是瞬间访问网络出错?
|
可以看看最后一次降级后,client端的info日志是否持续有‘NettyClient heartbeat request’的日志,如果有的话说明降级后持续发送了心跳,但是都没有收到响应 |
client端一直都有发心跳的。服务端日志里面就是这样的: |
2017-08-13 11:47:11,023 [buyerInfoCompleteQueueListener-1] ERROR error - RefererInvocationHandler invoke Error: uri=motan://11.30.114.29:0/com.rpcapi.risk.rule.RiskRuleRpcService requestId=1575586135825979072 interface=com.rpcapi.risk.rule.RiskRuleRpcService method=executeRules(com.rpcapi.risk.rule.param.RuleActionParam)
com.weibo.api.motan.exception.MotanServiceException: error_message: ActiveWeightLoadBalance No available referers for call : referers_size=2 requestId=1575586135825979072 interface=com.rpcapi.risk.rule.RiskRuleRpcService method=executeRules(com.rpcapi.risk.rule.param.RuleActionParam), status: 503, error_code: 10001,r=null
at com.weibo.api.motan.cluster.loadbalance.AbstractLoadBalance.selectToHolder(AbstractLoadBalance.java:81)
at com.weibo.api.motan.cluster.ha.FailoverHaStrategy.selectReferers(FailoverHaStrategy.java:90)
at com.weibo.api.motan.cluster.ha.FailoverHaStrategy.call(FailoverHaStrategy.java:53)
at com.weibo.api.motan.cluster.support.ClusterSpi.call(ClusterSpi.java:73)
at com.weibo.api.motan.proxy.RefererInvocationHandler.invoke(RefererInvocationHandler.java:125)
at com.sun.proxy.$Proxy140.executeRulesAsync(Unknown Source)
at com.riskjms.buyer.listener.BuyerInfoCompleteListener.executeRuleEngine(BuyerInfoCompleteListener.java:453)
at com.riskjms.buyer.listener.BuyerInfoCompleteListener.onMessage(BuyerInfoCompleteListener.java:254)
at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:562)
at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500)
at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:326)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:264)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1069)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1061)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:958)
at java.lang.Thread.run(Thread.java:745)
在一切正常情况下突然假死,访问不通,需要重启服务端,请问有解决方案吗?
The text was updated successfully, but these errors were encountered: