Skip to content

java版sdk运行一段时间后,出现客户端连接不够用的情况 #839

Description

@borenchan

问题描述:

项目集成了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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions