[ 
https://issues.apache.org/jira/browse/JCLOUDS-1626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17819995#comment-17819995
 ] 

Andrew Gaul commented on JCLOUDS-1626:
--------------------------------------

I don't quite understand this issue since it appears to be specific to S3Proxy? 
 Where in jclouds does it not close the {{{}FileInputStream{}}}?

> `FileInputStream` leak when using `filesystem` provider and performing a 
> multipart upload
> -----------------------------------------------------------------------------------------
>
>                 Key: JCLOUDS-1626
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1626
>             Project: jclouds
>          Issue Type: Bug
>          Components: jclouds-blobstore
>            Reporter: Ji Xinchi
>            Priority: Critical
>              Labels: filesystem
>
> I'm using gaul/s3proxy built on the latest jclouds. The provider 
> configuration is "filesystem", and basedir configuration is a directory where 
> a NFS is mounted.
>  
> When I performed a multipart upload, I found that files such as 
> ".nfs00000000100000bf00000005" remained in the directory after uploading. 
> Each file corresponded to one part and the files could not be deleted. The 
> error "Device Busy" was reported. These files will disappear automatically 
> after restarting s3proxy.
>  
> I found this PR, and tried to restore following snippet and it worked. But 
> this is just a temporary fix.
> {code:java}
>          InputStream is = blob.getPayload().openStream();
>          if (is instanceof FileInputStream) {
>             // except for FileInputStream since large MPU can open too many 
> fds
>             is.close();
>             payload = blob.getPayload();
>          } else {
>             blob.resetPayload(/*release=*/ false);
>             payload = new InputStreamPayload(is);
>          } {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to