aliyun / aliyun-oss-android-sdk

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

sdk2.9.9-android,主动断网后上传,长时间不回调onFailure #348

Open mudcastles opened 2 years ago

mudcastles commented 2 years ago

使用sdk 2.9.9版本上传oss,在上传前关网,上传时报如下错但不会回调onFailure,怎么监听该错误?

System.err: com.alibaba.sdk.android.oss.ClientException: Unable to resolve host "******": No address associated with hostname
System.err: java.net.UnknownHostException: Unable to resolve host "******": No address associated with hostname
System.err: java.net.ConnectException: Failed to connect to ******

代码如下:(正常联网时能正常上传)

        OSSCredentialProvider credentialProvider = new OSSAuthCredentialsProvider(LiveApiConstant.STS_SERVER_URL + program.getAppid());
        ClientConfiguration conf = new ClientConfiguration();
        conf.setConnectionTimeout(15 * 1000); // 连接超时,默认15秒
        conf.setSocketTimeout(15 * 1000); // socket超时,默认15秒
        conf.setMaxConcurrentRequest(5); // 最大并发请求书,默认5个
        conf.setMaxErrorRetry(2); // 失败后最大重试次数,默认2次
        OSS oss = new OSSClient(context, LiveApiConstant.OSS_ENDPOINT, credentialProvider, conf);
        OSSLog.enableLog();
        PutObjectRequest put = new PutObjectRequest(LiveApiConstant.BUCKET_NAME, generateFileUploadedPath(fileName), path);
        put.setCRC64(OSSRequest.CRC64Config.YES);
        put.setCallbackParam(new HashMap<String, String>() {
            {
                put("callbackUrl", LiveApiConstant.UPLOAD_CALLBACK_URL + program);
                //callbackBody可以自定义传入的信息
                put("callbackBody", "filename=${object}");
            }
        });
        put.setProgressCallback(ossProgressCallback);
        oss.asyncPutObject(put, ossCompletedCallback);
wushuai1415 commented 2 years ago

我这边测试正常的,sdk的日志发过来看下

lijionghui commented 2 years ago

我也遇到了,有时会失败,但是失败时没有回调。下面是日志:[2022-10-28 17:09:52] - =====[device info]=====

INFO: mobile_model:Redmi Note 7 Pro

------>end of log

[2022-10-28 17:09:52] - [call] - ------>end of log

[2022-10-28 17:09:52] - signRequest start ------>end of log

[2022-10-28 17:09:52] - get contentToSign ------>end of log

[2022-10-28 17:09:52] - sign start ------>end of log

[2022-10-28 17:09:52] - base64 start ------>end of log

[2022-10-28 17:09:52] - get signature ------>end of log

[2022-10-28 17:09:52] - scheme : https ------>end of log

[2022-10-28 17:09:52] - originHost : oss-ap-southeast-1.aliyuncs.com ------>end of log

[2022-10-28 17:09:52] - port : null ------>end of log

[2022-10-28 17:09:52] - [httpdnsmini] - refresh host: lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com ------>end of log

[2022-10-28 17:09:52] - [httpdnsmini] - buildUrl: https://203.107.1.1/181345/d?host=lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com ------>end of log

[2022-10-28 17:09:52] - request--------------------- request url=https://lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com/1/20221028/headimg_2251715621061592509213824824545691666948188969_1368998129965527040.jpg request params=null requestHeader [Authorization]: OSS STS.NT9DSixRszd5MkPU6GpDBVrZ8:stAR7MlTRG6jTv/JlKJakk0OdTM= requestHeader [User-Agent]: aliyun-sdk-android/2.9.9(Linux/Android 10/Redmi%20Note%207%20Pro;QKQ1.190915.002) requestHeader [Host]: lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com requestHeader [x-oss-security-token]: CAISkAR1q6Ft5B2yfSjIr5eMD+ndlY1SzabeT03hsTYSfMtuubfx2jz2IHhOdHhgAuwZtvwwm29U6vsflrt2RpNEAEvfdo5r445J/BnkPdSZTENrdRVc2vOfAmG2J0PRV6WwCryL+bm/F96pb1fb7KMao9/TfimjWFqIKICAjYUdAP0cQgi/a0jlbbU7Igxt+o14UHzKLqSCPwLNiGjdB1YK3w1nkjFH9LiYyM+R4Qa86lrh0b0toJ/tBZKmYsJwXvJ4SMzn+O1tapLIyjJLiX1N77wkqK1f5Q/OpM2GYT9W+A7UDvLQ9dRjFAZjespJHLVf/tn6lOF5s/Despnz1xdVNPtJbjzbQ4msorjDA/j7HdE8bbL2J3noz9STN4H8qR8ZeXYcPQ8oAd06MS1NERgrQz3iI7W701fSc2XTTLOegog81oBp6kjs4duSLkKTfq2d1i8UQJpeCXklLBkLx2fsX7YbeghXCTNdCq2SUJ94YWJny8bhthaAUipvnDMF/a+8BYXfsbtNbp7kDNAUk9gZbYpHvi41Ql6yVbOih0BRbWUHCb9dy/vqIoTtqu3HkuGaf+/LT+8KsBBEcDzcqG+UQDQSD1WovoF4MQPAp5mIkfCQrsg4KmZ0uIADVzPiWM12sllr75G16xmu6+L5WhiohDFgoImJr9ITthM8Iaj737PP4ySzsHWMbLQpIhxn68mUxH0agAGEx9W/gJknlSXJZhnzdcBEX/Sj7dF56FGSuYWIOg0Jb6VFSvKUB1atmbj9S1PxI+ZHehJtat8VD0MUEnDyBqrFwXEJJkl8eGJ2WJaN4v6JTKkoNmMNjKCUILL9uG0vpIBorWuNHxvJm3ql6hISe6NWFQozgFjSU8ysZY5vcm3LRQ== requestHeader [Date]: Fri, 28 Oct 2022 09:09:52 GMT requestHeader [Content-Type]: image/jpeg

------>end of log

[2022-10-28 17:09:52] - request method = PUT ------>end of log

[2022-10-28 17:09:52] - [httpdnsmini] - ips:["47.74.196.221"] ------>end of log

[2022-10-28 17:09:52] - [httpdnsmini] - resolve result:[hostName=lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com, ip=47.74.196.221, ttl=60, queryTime=1666948192] ------>end of log

[2022-10-28 17:10:23] - response:--------------------- response code: 400 for url: https://lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com/1/20221028/headimg_2251715621061592509213824824545691666948188969_1368998129965527040.jpg

------>end of log

[2022-10-28 17:10:23] - errorMessage :
failed to connect to lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com/47.74.196.221 (port 443) from /192.168.1.145 (port 38854) after 59999ms: isConnected failed: ETIMEDOUT (Connection timed out) ------>end of log

[2022-10-28 17:12:52] - Internal putObject Start ------>end of log

[2022-10-28 17:12:52] - populateRequestMetadata ------>end of log

[2022-10-28 17:12:52] - canonicalizeRequestMessage ------>end of log

[2022-10-28 17:12:52] - user agent : (Linux/Android 10/Redmi%20Note%207%20Pro;QKQ1.190915.002) ------>end of log

[2022-10-28 17:12:52] - ExecutionContext ------>end of log

[2022-10-28 17:12:52] - call OSSRequestTask ------>end of log

[2022-10-28 17:12:52] - =====[device info]=====

INFO: mobile_model:Redmi Note 7 Pro

------>end of log

[2022-10-28 17:12:52] - [call] - ------>end of log

[2022-10-28 17:12:52] - signRequest start ------>end of log

[2022-10-28 17:12:52] - get contentToSign ------>end of log

[2022-10-28 17:12:52] - sign start ------>end of log

[2022-10-28 17:12:52] - base64 start ------>end of log

[2022-10-28 17:12:52] - get signature ------>end of log

[2022-10-28 17:12:52] - scheme : https ------>end of log

[2022-10-28 17:12:52] - originHost : oss-ap-southeast-1.aliyuncs.com ------>end of log

[2022-10-28 17:12:52] - port : null ------>end of log

[2022-10-28 17:12:52] - [httpdnsmini] - refresh host: lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com ------>end of log

[2022-10-28 17:12:52] - [httpdnsmini] - buildUrl: https://203.107.1.1/181345/d?host=lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com ------>end of log

[2022-10-28 17:12:52] - request--------------------- request url=https://lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com/1/20221028/headimg_2251715621061592509213824824545691666948368687_1368998885556809728.jpg request params=null requestHeader [Authorization]: OSS STS.NT9DSixRszd5MkPU6GpDBVrZ8:lwp1JAWRE49W4wQq82ETtpEAeB8= requestHeader [User-Agent]: aliyun-sdk-android/2.9.9(Linux/Android 10/Redmi%20Note%207%20Pro;QKQ1.190915.002) requestHeader [Host]: lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com requestHeader [x-oss-security-token]: CAISkAR1q6Ft5B2yfSjIr5eMD+ndlY1SzabeT03hsTYSfMtuubfx2jz2IHhOdHhgAuwZtvwwm29U6vsflrt2RpNEAEvfdo5r445J/BnkPdSZTENrdRVc2vOfAmG2J0PRV6WwCryL+bm/F96pb1fb7KMao9/TfimjWFqIKICAjYUdAP0cQgi/a0jlbbU7Igxt+o14UHzKLqSCPwLNiGjdB1YK3w1nkjFH9LiYyM+R4Qa86lrh0b0toJ/tBZKmYsJwXvJ4SMzn+O1tapLIyjJLiX1N77wkqK1f5Q/OpM2GYT9W+A7UDvLQ9dRjFAZjespJHLVf/tn6lOF5s/Despnz1xdVNPtJbjzbQ4msorjDA/j7HdE8bbL2J3noz9STN4H8qR8ZeXYcPQ8oAd06MS1NERgrQz3iI7W701fSc2XTTLOegog81oBp6kjs4duSLkKTfq2d1i8UQJpeCXklLBkLx2fsX7YbeghXCTNdCq2SUJ94YWJny8bhthaAUipvnDMF/a+8BYXfsbtNbp7kDNAUk9gZbYpHvi41Ql6yVbOih0BRbWUHCb9dy/vqIoTtqu3HkuGaf+/LT+8KsBBEcDzcqG+UQDQSD1WovoF4MQPAp5mIkfCQrsg4KmZ0uIADVzPiWM12sllr75G16xmu6+L5WhiohDFgoImJr9ITthM8Iaj737PP4ySzsHWMbLQpIhxn68mUxH0agAGEx9W/gJknlSXJZhnzdcBEX/Sj7dF56FGSuYWIOg0Jb6VFSvKUB1atmbj9S1PxI+ZHehJtat8VD0MUEnDyBqrFwXEJJkl8eGJ2WJaN4v6JTKkoNmMNjKCUILL9uG0vpIBorWuNHxvJm3ql6hISe6NWFQozgFjSU8ysZY5vcm3LRQ== requestHeader [Date]: Fri, 28 Oct 2022 09:12:52 GMT requestHeader [Content-Type]: image/jpeg

------>end of log

[2022-10-28 17:12:52] - request method = PUT ------>end of log

[2022-10-28 17:12:52] - [httpdnsmini] - ips:["47.74.196.221"] ------>end of log

[2022-10-28 17:12:52] - [httpdnsmini] - resolve result:[hostName=lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com, ip=47.74.196.221, ttl=60, queryTime=1666948372] ------>end of log

[2022-10-28 17:12:53] - response:--------------------- response code: 200 for url: https://lavie-web-video-qa.oss-ap-southeast-1.aliyuncs.com/1/20221028/headimg_2251715621061592509213824824545691666948368687_1368998885556809728.jpg responseHeader [connection]: keep-alive responseHeader [content-length]: 0 responseHeader [content-md5]: XKkYMshsFQNgIETUy5Xo6g== responseHeader [date]: Fri, 28 Oct 2022 09:12:53 GMT responseHeader [etag]: "5CA91832C86C1503602044D4CB95E8EA" responseHeader [server]: AliyunOSS responseHeader [x-oss-hash-crc64ecma]: 10098325031072883466 responseHeader [x-oss-request-id]: 635B9D14704948353241ABCB responseHeader [x-oss-server-time]: 63

------>end of log

wushuai1415 commented 2 years ago

@lijionghui 升级下sdk,2.9.10修复了一个接收非xml结构响应时无回调的问题