Skip to content

BaseSubscriberAdapter frequently logging error while using AsyncS3Client #6027

Open
@tharinduamila-insta

Description

@tharinduamila-insta

Describe the bug

Using the s3AsyncClient backed by the NettyNioAsyncHttpClient when doing uploads that submit multiple PutObjectRequest to the S3TransferManager I am seeing this error pop up very frequently, what should we be tuning or is this error not a major concern regarding the uploaded data correctness

java.lang.IllegalStateException: null at software.amazon.awssdk.utils.async.BaseSubscriberAdapter.ensureUpstreamDemandExists(BaseSubscriberAdapter.java:296) at software.amazon.awssdk.utils.async.BaseSubscriberAdapter.handleUpstreamDemandState(BaseSubscriberAdapter.java:230) at software.amazon.awssdk.utils.async.BaseSubscriberAdapter.handleStateUpdate(BaseSubscriberAdapter.java:180) at software.amazon.awssdk.utils.async.BaseSubscriberAdapter.onComplete(BaseSubscriberAdapter.java:142) at software.amazon.awssdk.utils.internal.MappingSubscriber.onComplete(MappingSubscriber.java:67) at software.amazon.awssdk.utils.async.DelegatingSubscriber.onComplete(DelegatingSubscriber.java:47) at software.amazon.awssdk.core.internal.async.ChecksumCalculatingAsyncRequestBody$OnNextGuaranteedSubscriber.onComplete(ChecksumCalculatingAsyncRequestBody.java:275) at software.amazon.awssdk.core.async.listener.SubscriberListener$NotifyingSubscriber.onComplete(SubscriberListener.java:97) at software.amazon.awssdk.utils.async.SimplePublisher.doProcessQueue(SimplePublisher.java:275) at software.amazon.awssdk.utils.async.SimplePublisher.processEventQueue(SimplePublisher.java:224) at software.amazon.awssdk.utils.async.SimplePublisher.complete(SimplePublisher.java:157) at software.amazon.awssdk.utils.async.InputStreamConsumingPublisher.doBlockingWrite(InputStreamConsumingPublisher.java:62) at software.amazon.awssdk.core.async.BlockingInputStreamAsyncRequestBody.writeInputStream(BlockingInputStreamAsyncRequestBody.java:92) at software.amazon.awssdk.core.internal.async.InputStreamWithExecutorAsyncRequestBody.doBlockingWrite(InputStreamWithExecutorAsyncRequestBody.java:107) at software.amazon.awssdk.core.internal.async.InputStreamWithExecutorAsyncRequestBody.lambda$subscribe$0(InputStreamWithExecutorAsyncRequestBody.java:80) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)

Regression Issue

  • Select this option if this issue appears to be a regression.

Expected Behavior

No error logs

Current Behavior

As described above

Reproduction Steps

Build a S3TransferManaeger utilising multipart and s3asyncclient with netty http client. And submit multiple (~100) put object requests.

Possible Solution

No response

Additional Information/Context

No response

AWS Java SDK version used

2.31.20

JDK version used

correttojdk11-11.0.26.4.1

Operating System and version

debian12

Metadata

Metadata

Assignees

Labels

bugThis issue is a bug.p2This is a standard priority issueresponse-requestedWaiting on additional info and feedback. Will move to "closing-soon" in 10 days.transfer-manager

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions