You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Himanshu Mittal (JIRA)" <ji...@apache.org> on 2015/07/01 14:01:05 UTC

[jira] [Updated] (CAMEL-8860) Too many connection in TIME_WAIT when tempfilename is set in the FTP producer URI.

     [ https://issues.apache.org/jira/browse/CAMEL-8860?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Himanshu Mittal updated CAMEL-8860:
-----------------------------------
    Attachment: Passive_false_NoTempFile.log
                NetStat_NoTempFIle.PNG
                Passive_true.log
                Passive_false.log
                NetStat_Passive_true.PNG
                NetStat_Passive_False.PNG

Grzegorz ,

Here test sample is 200 messages with FTP sender. Screen shot shows number of connection reached up till 400( 2 per transaction) Connection count does not make any difference with passiveMode true/false.
After tempfilename from URI we have a single tcp connection for transaction.

> Too many connection in TIME_WAIT when tempfilename is set in the FTP producer URI.
> ----------------------------------------------------------------------------------
>
>                 Key: CAMEL-8860
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8860
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-ftp
>    Affects Versions: 2.14.0
>            Reporter: Himanshu Mittal
>            Assignee: Grzegorz Grzybek
>         Attachments: NetStat_NoTempFIle.PNG, NetStat_Passive_False.PNG, NetStat_Passive_true.PNG, Passive_false.log, Passive_false_NoTempFile.log, Passive_true.log, ResultWithOutTempFileName.log, ResultWithTempfileName.log, Result_With_tempfileName_FTPServer_Connection_Count.PNG, Result_Without_tempfilename.PNG, TestFTPConnectionLeak.java
>
>
> So many connections remain in TIME_WAIT state while configuring a FTP producer route with tempfilename property in FTP producer. 
> Files are writen using producer template.
> Producertemplate.sendBodyAndHeader(producerURI, Exchange.FILE_NAME, fileName) to write file to destination. 
> Producer URI : {{ftp://<US...@MACHINE_ADDRESS>//?password=RAW(PASSWORD)&binary=true&passiveMode=false&delete=true&pollStrategy=#ConsumerPollStrategy&disconnect=false&tempFileName=/temp/hello.tmp&initialDelay=10&throwExceptionOnConnectFailed=true&reconnectDelay=10&maximumReconnectAttempts=0&maxMessagesPerPoll=100&readLock=changed&readLockCheckInterval=500&readLockMinLength=1&sendEmptyMessageWhenIdle=true}}
> fileName: {{file.tmp}}
> We are writing ~ 2000 files . First files are written to temp directory then moved to destination. Connections opened for tempfiles are not re used to write temporary files and we run out of connection after writing 1000 files. 
> Route resumes once connections are released. 
> Is there a way we can  reuse connection to write temporary files also.
> Once tempfilename is removed from the configuration then single connection is used for ftp transfer.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)