New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
多线程并发调用,导致死锁 #10
Comments
从堆栈上是httpclient从连接池中获取连接卡住: |
多谢多谢,已经用最新版替代 |
使用oss-sdk 3.1.0版本仍然存在问题 |
2.8.1 同样问题 导致线上线程撑满 |
同样遇到这个问题,发现是流没有关闭造成 |
2.8.2 也有这个问题 |
其实就是oss调用耗时高了,把连接池占满了。 |
我是用的sdk2.8.2 也出现了 我看OssClient默认是1024个连接,我们所有getObject的流都关闭了,但是问题还是出现了 |
@baiyubin 你好 找了1天 都没找到原因 |
多线程同时调用时,会导致死锁,在httpClient连接池的地方。
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:138) at org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:306) at org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:192) at org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:185) at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:107) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:276) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:263) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:190) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) at com.aliyun.oss.common.comm.DefaultServiceClient.sendRequestCore(DefaultServiceClient.java:113) at com.aliyun.oss.common.comm.ServiceClient.sendRequestImpl(ServiceClient.java:121) at com.aliyun.oss.common.comm.ServiceClient.sendRequest(ServiceClient.java:67) at com.aliyun.oss.internal.OSSOperation.send(OSSOperation.java:92) at com.aliyun.oss.internal.OSSOperation.doOperation(OSSOperation.java:140) at com.aliyun.oss.internal.OSSOperation.doOperation(OSSOperation.java:111) at com.aliyun.oss.internal.OSSBucketOperation.listObjects(OSSBucketOperation.java:410) at com.aliyun.oss.OSSClient.listObjects(OSSClient.java:498) at com.aliyun.oss.OSSClient.listObjects(OSSClient.java:492) at cn.archbox.file.dao.AliyunBaseDao.listObjectSummary(AliyunBaseDao.java:235)
The text was updated successfully, but these errors were encountered: