apache / apache/servicecomb-java-chassis
客户端调用服务器在一定压力下(非常小的并发)报错,且 get connection 非常长
- 主要言語
- Java
- スター
- 1.9k
- フォーク
- 814
- 平均マージ
- 8日 23時間
- マージ済み PR(30日)
- 1
説明
2022-11-11 17:24:04.180 WARN 2267 --- [service-tomcat-1163] o.a.s.m.c.publish.SlowInvocationLogger : 56 slow(1000 ms) invocation, CONSUMER rest crmadapter.crmAdapterService.queryProdInstIot:
http method: POST
url : /ICRMAdapterService/queryProdInstIot/
server : rest://10.0.3.138:8081
status code: 408
total : 40004.524 ms
prepare : 0.22 ms
handlers request : 32122.667 ms
client filters request : 0.78 ms
send request : 0.355 ms
get connection : 32122.307 ms
write to buf : 0.448 ms
wait response : 0.0 ms
wake consumer : 0.0 ms
client filters response: 0.0 ms
handlers response : 0.0 ms
2022-11-11 17:24:04.181 ERROR 2267 --- [service-tomcat-1163] c.h.m.p.e.GlobalExceptionHandler : 118 RuntimeException:
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:90)
at org.apache.servicecomb.core.provider.consumer.SyncResponseExecutor.waitResponse(SyncResponseExecutor.java:58)
at org.apache.servicecomb.core.provider.consumer.InvokerUtils.innerSyncInvokeImpl(InvokerUtils.java:210)
at org.apache.servicecomb.core.provider.consumer.InvokerUtils.lambda$decorateSyncRetry$cf34ec48$2(InvokerUtils.java:263)
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
提供された SlowInvocationLogger の出力と、スタックトレースのエントリーポイントである SyncResponseExecutor.java、InvokerUtils.java、およびクライアントの接続取得パスから始めます。報告された低い並行性でタイムアウトを再現し、その後、なぜ get connection がリクエスト時間の大部分を消費するのかを追跡します。原因を特定し、タイムアウトの動作を修正して検証できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- backend
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100