问题描述:
项目集成了SDK运行一段时间后,AppBuilderClient.createConversation或者chat 都提示客户端超时报错。本地压测时因为开启了百度云限流不能复现。
原因排查
AppBuilderClient内部创建的 httpclient 初始化时未设置连接池相关参数,且可能存在连接使用完毕未正确释放的情况。
SDK版本:1.0.3
<!--百度 APP builder平台-->
<dependency>
<groupId>com.baidubce</groupId>
<artifactId>appbuilder</artifactId>
<version>1.0.3</version>
</dependency>
错误日志:
org.apache.hc.core5.http.ConnectionRequestTimeoutException: Timeout deadline: 180000 MILLISECONDS, actual: 180000 MILLISECONDS
at org.apache.hc.client5.http.impl.classic.InternalExecRuntime.acquireEndpoint(InternalExecRuntime.java:127)
at org.apache.hc.client5.http.impl.classic.ConnectExec.execute(ConnectExec.java:118)
at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)
at org.apache.hc.client5.http.impl.classic.ProtocolExec.execute(ProtocolExec.java:172)
at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)
at org.apache.hc.client5.http.impl.classic.HttpRequestRetryExec.execute(HttpRequestRetryExec.java:93)
at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)
at org.apache.hc.client5.http.impl.classic.ContentCompressionExec.execute(ContentCompressionExec.java:128)
at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)
at org.apache.hc.client5.http.impl.classic.RedirectExec.execute(RedirectExec.java:116)
at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
at org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute$original$yVoqgQH0(InternalHttpClient.java:178)
at org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute$original$yVoqgQH0$accessor$4KMyyT9m(InternalHttpClient.java)
at org.apache.hc.client5.http.impl.classic.InternalHttpClient$auxiliary$O7QwN2M9.call(Unknown Source)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)
at org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java)
at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:67)
at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:200)
at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:143)
at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:117)
at com.baidubce.appbuilder.base.utils.http.HttpClient.execute(HttpClient.java:203)
at com.baidubce.appbuilder.console.appbuilderclient.AppBuilderClient.innerCreateConversation(AppBuilderClient.java:61)
at com.baidubce.appbuilder.console.appbuilderclient.AppBuilderClient.createConversation(AppBuilderClient.java:46)
问题描述:
项目集成了SDK运行一段时间后,AppBuilderClient.createConversation或者chat 都提示客户端超时报错。本地压测时因为开启了百度云限流不能复现。
原因排查
AppBuilderClient内部创建的 httpclient 初始化时未设置连接池相关参数,且可能存在连接使用完毕未正确释放的情况。
SDK版本:1.0.3
错误日志: