aliyun / aliyun-oss-android-sdk

Android SDK for aliyun object storage service
807 stars 306 forks source link

总是会出现超时如何解决 #102

Closed h3clikejava closed 6 years ago

h3clikejava commented 6 years ago

[2018-03-08 20:10:13] - request--------------------- request url=http://timehut-cn-sz.oss-cn-shenzhen.aliyuncs.com/sz/videos/original/201803/1082316/767efc8fd5da47bab04b4838ce34f6aa53e86e347eb89244655e4ee690721812.mp4 request params=uploadId=0FD19F85D77542E3B70AA23CA85805F2&partNumber=9 requestHeader [Authorization]: OSS STS.EYh2SX4fX1b8YHVaaAtNa7Bop:Xah6wr03zbTvDBclCs5Lq8x/GiM= requestHeader [User-Agent]: aliyun-sdk-android/2.7.3(Linux/Android 8.0.0/VKY-AL00;HUAWEIVKY-AL00) requestHeader [Host]: timehut-cn-sz.oss-cn-shenzhen.aliyuncs.com requestHeader [x-oss-security-token]: CAIS8QF1q6Ft5B2yfSjIpJrdeens2bl5hqDTW27nhWEUeMFN2IfEkjz2IHpMe3NqAu0ftvQxnWlY7P4flq5vSppIRVHYNSSRYFGftVHPWZHInuDox55m4cTXNAr+Ihr/29CoEIedZdjBe/CrRknZnytou9XTfimjWFrXWv/gy+QQDLItUxK/cCBNCfpPOwJms7V6D3bKMuu3OROY6Qi5TmgQ41An1DMns//jn5TAsUKA0meXkLFF+97DRbG/dNRpMZtFVNO44fd7bKKp0lQLsUAVrv0t0fUcqWme54HHWwRLgAidPvCR78VrKwZ1dlqk3njmOgiWGoABdwY0oI0f/9QRjff5wnachI3PI7sg6WVK2XXKGox41DLizZmB4tYQDhmKg0k8eOlcbtxu/XBXR/82xWLEY/yE0SnJJ8fA68QzJKV33U5gCy3vNlLrSs2zd4UsBH8KSYGB6Hx2t542hHKtHlkHuE3Scrf6KfyLmrqmoK9Mo0fPLrE= requestHeader [Date]: Thu, 08 Mar 2018 12:10:13 GMT requestHeader [Content-MD5]: vybBAKm/7DGciDcoJRlBmQ== requestHeader [Content-Type]: video/mp4

------>end of log

[2018-03-08 20:10:44] - Encounter local execpiton: java.net.SocketTimeoutException: timeout ------>end of log

crash_time:2018-03-08 20:10:44 com.alibaba.sdk.android.oss.ClientException: timeout

at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:190)
at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:43)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:784)

Caused by: java.net.SocketTimeoutException: timeout at okio.Okio$4.newTimeoutException(Okio.java:230) at okio.AsyncTimeout.exit(AsyncTimeout.java:285) at okio.AsyncTimeout$2.read(AsyncTimeout.java:241) at okio.RealBufferedSource.indexOf(RealBufferedSource.java:345) at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:217) at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:212) at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189) at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200) at okhttp3.RealCall.execute(RealCall.java:77) at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:167) ... 5 more Caused by: java.net.SocketException: Socket closed at java.net.SocketInputStream.read(SocketInputStream.java:203) at java.net.SocketInputStream.read(SocketInputStream.java:139) at okio.Okio$2.read(Okio.java:139) at okio.AsyncTimeout$2.read(AsyncTimeout.java:237) ... 25 more ------>end of log

[2018-03-08 20:10:44] - shouldRetry - com.alibaba.sdk.android.oss.ClientException: timeout

------>end of log

[2018-03-08 20:10:44] - [run] - retry, retry type: OSSRetryTypeShouldRetry ------>end of log

我们发现每天总是有不少用于遇到超时问题,不管是国内还是国外,同一套代码之前用七牛和S3都不会有问题,切换到阿里云之后就经常各种超时。用的最新SDK2.7.3。

1019272778 commented 6 years ago

请问你是如何如何创建ossClient的? 使用方式请参考 https://help.aliyun.com/document_detail/32044.html 另,也不排除一些网络因素,客户端和服务器链接的环境等因素。 从异常栈看都是底层api的异常,也可以开启日志服务提供更多信息

jeekun commented 6 years ago
crash_time:2018-06-26 10:35:05                        
com.alibaba.sdk.android.oss.ClientException: timeout                        
[ErrorMessage]: timeout                        
at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:190)                        
at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:236)                        
at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:43)                        
at java.util.concurrent.FutureTask.run(FutureTask.java:237)                        
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)                        
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)                        
at java.lang.Thread.run(Thread.java:760)                        
Caused by: java.net.SocketTimeoutException: timeout                        
at okio.Okio$4.newTimeoutException(Okio.java:230)                        
at okio.AsyncTimeout.exit(AsyncTimeout.java:285)                        
at okio.AsyncTimeout$1.write(AsyncTimeout.java:184)                        
at okio.RealBufferedSink.flush(RealBufferedSink.java:216)                        
at okhttp3.internal.http1.Http1Codec$FixedLengthSink.flush(Http1Codec.java:298)                        
at okio.ForwardingSink.flush(ForwardingSink.java:39)                        
at okio.RealBufferedSink.flush(RealBufferedSink.java:218)                        
at com.alibaba.sdk.android.oss.network.ProgressTouchableRequestBody.writeTo(ProgressTouchableRequestBody.java:65)                        
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:72)                        
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)                        
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)                        
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)                        
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)                        
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)                        
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)                        
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)                        
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)                        
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)                        
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)                        
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)                        
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)                        
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)                        
at okhttp3.RealCall.execute(RealCall.java:77)                        
at com.alibaba.sdk.android.oss.network.OSSRequestTask.call(OSSRequestTask.java:167)                        
... 6 more                        
Caused by: java.net.SocketException: Socket closed                        
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:120)                        
at java.net.SocketOutputStream.write(SocketOutputStream.java:157)                        
at okio.Okio$1.write(Okio.java:79)                        
at okio.AsyncTimeout$1.write(AsyncTimeout.java:180)                        
... 27 more                        
------>end of log                        
jeekun commented 6 years ago

遇到了类似的问题,麻烦给看下? 或者有没有改进的建议? @1019272778

MrZWC commented 5 years ago

遇到了同样的问题。请问解决了没啊?怎么解决的?谢谢

yyyAndroid commented 4 years ago

@1019272778 ??? 出现情况不少,