apache / apache/servicecomb-java-chassis

客户端调用服务器在一定压力下(非常小的并发)报错,且 get connection 非常长

オープン
#3,475 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。