Support Questions

Find answers, ask questions, and share your expertise
Check out our newest addition to the community, the Cloudera Data Analytics (CDA) group hub.

PutS3Object processor in Nifi failed to persist file with 'Socket is Closed' exception

Hi All,

I am trying to persist data into an S3 bucket through Nifi PutS3Object processor, and sometimes I'm getting the below error

Please help me with the possibilities to fix this issue.

ERROR [Timer-Driven Process Thread-3967] PutS3Object[id=e1ed3d31-f12a-1572-b913-4595cd91cf49] Failed to put StandardFlowFileRecord[uuid=2724806e-3b0d-48d5-a806-eb02e97d40c7,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=1536017934845-69432, container=default, section=824], offset=1001138, length=827387],offset=366284,name=5410310069030717,size=411944] to Amazon S3 due to com.amazonaws.SdkClientException: Unable to execute HTTP request: Socket is closed: {} com.amazonaws.SdkClientException: Unable to execute HTTP request: Socket is closed at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper( at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute( at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer( at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute( at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$300( at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute( at com.amazonaws.http.AmazonHttpClient.execute( at at at$1.process( at at at org.apache.nifi.controller.repository.BatchingSessionFactory$ at at org.apache.nifi.processor.AbstractProcessor.onTrigger( at org.apache.nifi.controller.StandardProcessorNode.onTrigger( at at at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$ at java.util.concurrent.Executors$ at java.util.concurrent.FutureTask.runAndReset( at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301( at java.util.concurrent.ScheduledThreadPoolExecutor$ at java.util.concurrent.ThreadPoolExecutor.runWorker( at java.util.concurrent.ThreadPoolExecutor$ at Caused by: Socket is closed


New Contributor

I am seeing the same issue sporadically with 1.7.1, but I also saw it with 1.4.0. I'm working around it by writing failed FlowFiles from PutS3Object to disk and then periodically reading them with GetFile and routing them back to PutS3Object. Any ideas what could be causing this issue?

Take a Tour of the Community
Don't have an account?
Your experience may be limited. Sign in to explore more.