huaweicloud / huaweicloud-sdk-java-obs

The OBS SDK for Java, which is used for accessing Object Storage Service
Other
133 stars 116 forks source link

分段并发上传大对象方法报错:OBS servcie Error Message. Request Error: java.nio.channels.ClosedChannelException #85

Open zivjie opened 2 years ago

zivjie commented 2 years ago

版本3.21.8 分段上传,只能上传一部分,然后就报了如下的错误 Exception in thread "pool-4-thread-1" com.obs.services.exception.ObsException: OBS servcie Error Message. Request Error: java.nio.channels.ClosedChannelException at com.obs.services.internal.utils.ServiceUtils.changeFromServiceException(ServiceUtils.java:607) at com.obs.services.AbstractClient.doActionWithResult(AbstractClient.java:396) at com.obs.services.AbstractMultipartObjectClient.uploadPart(AbstractMultipartObjectClient.java:130) at com.rk.air.fight.common.file.util.BaseObsUtil.lambda$putObjectMultiPartly$0(ObsUtil.java:352) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.nio.channels.ClosedChannelException at sun.nio.ch.FileChannelImpl.ensureOpen(FileChannelImpl.java:110) at sun.nio.ch.FileChannelImpl.position(FileChannelImpl.java:276) at com.obs.services.internal.io.MayRepeatableInputStream.reset(MayRepeatableInputStream.java:99) at com.obs.services.internal.RepeatableRequestEntity.writeTo(RepeatableRequestEntity.java:102) at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.kt:59) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:34) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) at com.obs.services.internal.RestStorageService.executeRequest(RestStorageService.java:535) at com.obs.services.internal.RestStorageService.tryRequest(RestStorageService.java:418) at com.obs.services.internal.RestStorageService.performRequest(RestStorageService.java:377) at com.obs.services.internal.RestStorageService.performRestPut(RestStorageService.java:893) at com.obs.services.internal.RestStorageService.performRestPut(RestStorageService.java:879) at com.obs.services.internal.RestStorageService.performRestPut(RestStorageService.java:873) at com.obs.services.internal.service.ObsMultipartObjectService.uploadPartImpl(ObsMultipartObjectService.java:212) at com.obs.services.AbstractMultipartObjectClient.access$200(AbstractMultipartObjectClient.java:39) at com.obs.services.AbstractMultipartObjectClient$3.action(AbstractMultipartObjectClient.java:138) at com.obs.services.AbstractMultipartObjectClient$3.action(AbstractMultipartObjectClient.java:131) at com.obs.services.AbstractClient.doActionWithResult(AbstractClient.java:386) ... 5 more

zivjie commented 2 years ago

obsClient.uploadPart(uploadPartRequest)位置报错