servicecomb-java-chassis icon indicating copy to clipboard operation
servicecomb-java-chassis copied to clipboard

消费端采用tomcat的形式集成servicecomb SDK,异常场景下报错Invocation Timeout

Open fanjiwang1992 opened this issue 3 years ago • 3 comments

复现条件:

  1. 客户端日志挂载日志磁盘,此时服务调用异常
  2. 清理日志磁盘以后,发起服务调用报408 Invocation Timeout

fanjiwang1992 avatar Feb 24 '22 01:02 fanjiwang1992

错误日志现象: 2022-02-23 08:46:10,868]-[b5caf7279192835d]-[1002]-[https-jsse-nio-172.18.2.180-18443-exec-20]-[com.huawei.mateinfo.sdk.common.utils.MateInfoLogUtils.record(MateInfoLogUtils.java:38)]-[ERROR] rest failed, url=/adc-studio-project-mgt/web/rest/v1/projects/1013 org.apache.servicecomb.swagger.invocation.exception.InvocationException: InvocationException: code=408;msg=CommonExceptionData{code='SCB.00000004', message='Invocation Timeout.', dynamic={}} at org.apache.servicecomb.core.provider.consumer.SyncResponseExecutor.guardedWait(SyncResponseExecutor.java:85) ~[java-chassis-core-2.1.5-h0.gts.dsp.r68.jar:2.1.5-h0.gts.dsp.r68] at org.apache.servicecomb.core.provider.consumer.SyncResponseExecutor.waitResponse(SyncResponseExecutor.java:54) ~[java-chassis-core-2.1.5-h0.gts.dsp.r68.jar:2.1.5-h0.gts.dsp.r68] at org.apache.servicecomb.core.provider.consumer.InvokerUtils.innerSyncInvoke(InvokerUtils.java:160) ~[java-chassis-core-2.1.5-h0.gts.dsp.r68.jar:2.1.5-h0.gts.dsp.r68] at org.apache.servicecomb.provider.pojo.HandlerInvocationCaller.syncInvoke(HandlerInvocationCaller.java:40) ~[provider-pojo-2.1.5-h0.gts.dsp.r68.jar:2.1.5-h0.gts.dsp.r68] at org.apache.servicecomb.provider.pojo.HandlerInvocationCaller.call(HandlerInvocationCaller.java:34) ~[provider-pojo-2.1.5-h0.gts.dsp.r68.jar:2.1.5-h0.gts.dsp.r68] at org.apache.servicecomb.provider.pojo.Invoker.invoke(Invoker.java:71) ~[provider-pojo-2.1.5-h0.gts.dsp.r68.jar:2.1.5-h0.gts.dsp.r68] at com.sun.proxy.$Proxy364.checkUserAccessByProjectId(Unknown Source) ~[?:?] at com.huawei.mateinfo.studio.project.aspect.UnifyDevUserAccessCheckAspect.doBefore(UnifyDevUserAccessCheckAspect.java:69) ~[mateinfo-project-mgt-api-2.3.RC1.B009.v9.jar:?]

fanjiwang1992 avatar Feb 24 '22 01:02 fanjiwang1992

定位过程:

  1. org.apache.servicecomb.core.provider.consumer.SyncResponseExecutor.guardedWait(SyncResponseExecutor.java:85) ~[java-chassis-core-2.1.5-h0.gts.dsp.r68.jar:2.1.5-h0.gts.dsp.r68] 该方法等待有240秒,但是业务没有配置240s
  2. 定位org.apache.servicecomb.core.handler.impl.TransportClientHandler 确定该handler执行,并且org.apache.servicecomb.transport.rest.client.http.RestClientInvocation#invoke 请求由业务线程转移到网络线程中发送,该方法也执行
  3. 但是查看服务端的日志,并没有access日志记录,服务端没有收到请求

fanjiwang1992 avatar Feb 24 '22 01:02 fanjiwang1992

复现条件:

  1. 客户端日志挂载日志磁盘,此时服务调用异常
  2. 清理日志磁盘以后,发起服务调用报408 Invocation Timeout

fanjiwang1992 avatar Feb 24 '22 03:02 fanjiwang1992

close old issues, please feel free to submit a new one if the problem still exists.

liubao68 avatar Dec 30 '22 09:12 liubao68