You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Rishabh Daim (Jira)" <ji...@apache.org> on 2026/02/10 10:10:00 UTC
[jira] [Resolved] (OAK-12088) Fix timeout issue while uploading multiple files on AWS
[ https://issues.apache.org/jira/browse/OAK-12088?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rishabh Daim resolved OAK-12088.
--------------------------------
Fix Version/s: 1.92.0
Resolution: Fixed
> Fix timeout issue while uploading multiple files on AWS
> -------------------------------------------------------
>
> Key: OAK-12088
> URL: https://issues.apache.org/jira/browse/OAK-12088
> Project: Jackrabbit Oak
> Issue Type: Task
> Reporter: Rishabh Daim
> Assignee: Rishabh Daim
> Priority: Major
> Fix For: 1.92.0
>
>
> We are getting connection time while uploading multiple files to AWS S3.
> Exception is:
> {quote}Caused by: software.amazon.awssdk.core.exception.SdkClientException: Unable to execute HTTP request: Acquire operation took longer than the configured maximum time. This indicates that a request cannot get a connection from the pool within the specified maximum time. This can be due to high request rate._Consider taking any of the following actions to mitigate the issue: increase max connections, increase acquire timeout, or slowing the request rate._Increasing the max connections can increase client throughput (unless the network interface is already fully utilized), but can eventually start to hit operation system limitations on the number of file descriptors used by the process. If you already are fully utilizing your network interface or cannot further increase your connection count, increasing the acquire timeout gives extra time for requests to acquire a connection before timing out. If the connections doesn't free up, the subsequent requests will still timeout._If the above mechanisms are not able to fix the issue, try smoothing out your requests so that large traffic bursts cannot overload the client, being more efficient with the number of times you need to call AWS, or by increasing the number of hosts sending requests. (SDK Attempt Count: 1)
> at software.amazon.awssdk.core.exception.SdkClientException<span>BuilderImpl.build(SdkClientException.java:130) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at software.amazon.awssdk.core.exception.SdkClientException</span>BuilderImpl.build(SdkClientException.java:95) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at software.amazon.awssdk.core.internal.http.pipeline.stages.utils.RetryableStageHelper.retryPolicyDisallowedRetryException(RetryableStageHelper.java:168) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncRetryableStage<span>RetryingExecutor.maybeAttemptExecute(AsyncRetryableStage.java:139) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncRetryableStage</span>RetryingExecutor.maybeRetryExecute(AsyncRetryableStage.java:157) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncRetryableStage<span>RetryingExecutor.lambda</span>attemptExecute<span>1(AsyncRetryableStage.java:117) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) at java.base/java.util.concurrent.CompletableFuture</span>UniWhenComplete.tryFire(CompletableFuture.java:841)
> at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
> at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162)
> at software.amazon.awssdk.utils.CompletableFutureUtils.lambda<span>forwardExceptionTo</span>0(CompletableFutureUtils.java:78) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
> at java.base/java.util.concurrent.CompletableFuture<span>UniWhenComplete.tryFire(CompletableFuture.java:841) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162) at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRequestStage.lambda</span>execute<span>0(MakeAsyncHttpRequestStage.java:108) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) at java.base/java.util.concurrent.CompletableFuture</span>UniWhenComplete.tryFire(CompletableFuture.java:841)
> at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
> at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162)
> at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRequestStage.completeResponseFuture(MakeAsyncHttpRequestStage.java:255) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRequestStage.lambda<span>executeHttpRequest</span>3(MakeAsyncHttpRequestStage.java:167) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934)
> at java.base/java.util.concurrent.CompletableFuture<span>UniHandle.tryFire(CompletableFuture.java:911) at java.base/java.util.concurrent.CompletableFuture</span>Completion.run(CompletableFuture.java:482)
> ... 3 common frames omitted
> Suppressed: software.amazon.awssdk.core.exception.SdkClientException: Failed to send multipart upload requests
> at software.amazon.awssdk.core.exception.SdkClientException<span>BuilderImpl.build(SdkClientException.java:130) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at software.amazon.awssdk.core.exception.SdkClientException.create(SdkClientException.java:43) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at software.amazon.awssdk.services.s3.internal.multipart.GenericMultipartHelper.handleException(GenericMultipartHelper.java:66) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at software.amazon.awssdk.services.s3.internal.multipart.MultipartUploadHelper.failRequestsElegantly(MultipartUploadHelper.java:126) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at software.amazon.awssdk.services.s3.internal.multipart.KnownContentLengthAsyncRequestBodySubscriber.lambda</span>onNext<span>5(KnownContentLengthAsyncRequestBodySubscriber.java:190) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) at java.base/java.util.concurrent.CompletableFuture</span>UniWhenComplete.tryFire(CompletableFuture.java:841)
> at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
> at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162)
> at software.amazon.awssdk.utils.CompletableFutureUtils.lambda<span>forwardExceptionTo</span>0(CompletableFutureUtils.java:78) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
> at java.base/java.util.concurrent.CompletableFuture<span>UniWhenComplete.tryFire(CompletableFuture.java:841) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162) at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncApiCallMetricCollectionStage.lambda</span>execute<span>0(AsyncApiCallMetricCollectionStage.java:56) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) at java.base/java.util.concurrent.CompletableFuture</span>UniWhenComplete.tryFire(CompletableFuture.java:841)
> at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
> at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162)
> at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncApiCallTimeoutTrackingStage.lambda<span>execute</span>2(AsyncApiCallTimeoutTrackingStage.java:67) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
> at java.base/java.util.concurrent.CompletableFuture<span>UniWhenComplete.tryFire(CompletableFuture.java:841) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162) at software.amazon.awssdk.utils.CompletableFutureUtils.lambda</span>forwardExceptionTo<span>0(CompletableFutureUtils.java:78) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) at java.base/java.util.concurrent.CompletableFuture</span>UniWhenComplete.tryFire(CompletableFuture.java:841)
> at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
> at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162)
> ... 25 common frames omitted
> Caused by: java.lang.Throwable: Acquire operation took longer than the configured maximum time. This indicates that a request cannot get a connection from the pool within the specified maximum time. This can be due to high request rate._Consider taking any of the following actions to mitigate the issue: increase max connections, increase acquire timeout, or slowing the request rate._Increasing the max connections can increase client throughput (unless the network interface is already fully utilized), but can eventually start to hit operation system limitations on the number of file descriptors used by the process. If you already are fully utilizing your network interface or cannot further increase your connection count, increasing the acquire timeout gives extra time for requests to acquire a connection before timing out. If the connections doesn't free up, the subsequent requests will still timeout._If the above mechanisms are not able to fix the issue, try smoothing out your requests so that large traffic bursts cannot overload the client, being more efficient with the number of times you need to call AWS, or by increasing the number of hosts sending requests.
> at software.amazon.awssdk.http.nio.netty.internal.utils.NettyUtils.decorateException(NettyUtils.java:80) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at software.amazon.awssdk.http.nio.netty.internal.NettyRequestExecutor.handleFailure(NettyRequestExecutor.java:307) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at software.amazon.awssdk.http.nio.netty.internal.NettyRequestExecutor.makeRequestListener(NettyRequestExecutor.java:188) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:603) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:570) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at io.netty.util.concurrent.DefaultPromise.access<span>200(DefaultPromise.java:36) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at io.netty.util.concurrent.DefaultPromise</span>1.run(DefaultPromise.java:516) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at io.netty.util.concurrent.SingleThreadEventExecutor<span>4.run(SingleThreadEventExecutor.java:998) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002] at io.netty.util.internal.ThreadExecutorMap</span>2.run(ThreadExecutorMap.java:74) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> ... 1 common frames omitted
> Caused by: java.util.concurrent.TimeoutException: Acquire operation took longer than 10000 milliseconds.
> at software.amazon.awssdk.http.nio.netty.internal.HealthCheckedChannelPool.timeoutAcquire(HealthCheckedChannelPool.java:77) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at software.amazon.awssdk.http.nio.netty.internal.HealthCheckedChannelPool.lambda<span>acquire</span>0(HealthCheckedChannelPool.java:67) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:160) [org.apache.jackrabbit.oak-blob-cloud:1.88.1.B002]
> ... 7 common frames omitted
> {quote}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)