[ https://issues.apache.org/jira/browse/CAMEL-8860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14605492#comment-14605492 ]
Grzegorz Grzybek commented on CAMEL-8860: ----------------------------------------- [~himanshu], could you provide more details? Could you enable DEBUG logging for {{org.apache.camel.component.file.remote}} logger and attach the logs? I tried with special socket factory to see when sockets are created and connected and I had single connection reused for all writes: {noformat} 2015-06-29 13:36:43,103 [main ] INFO NameProducerConnectionLeakTest - Creating socket 1642030774 2015-06-29 13:36:43,103 [main ] INFO NameProducerConnectionLeakTest - connecting socket 1642030774 to localhost/127.0.0.1:21000 2015-06-29 13:36:43,194 [main ] DEBUG RemoteFileProducer - Connected and logged in to: Endpoint[ftp://admin:xxxxxx@localhost:21000/out/?delete=true&disconnect=false&fileName=%24%7Bfile%3Aname%7D&ftpClient.socketFactory=%23sf&passiveMode=false&tempFileName=%24%7Bfile%3Aonlyname%7D.part] 2015-06-29 13:36:43,292 [main ] DEBUG FtpOperations - About to store file: file1.txt.part using stream: java.io.ByteArrayInputStream@2f7298b 2015-06-29 13:36:43,336 [main ] DEBUG FtpOperations - Took 0.044 seconds (44 millis) to store file: file1.txt.part and FTP client returned: true 2015-06-29 13:36:43,337 [main ] DEBUG RemoteFileProducer - Wrote [out/file1.txt.part] to [Endpoint[ftp://admin:xxxxxx@localhost:21000/out/?delete=true&disconnect=false&fileName=%24%7Bfile%3Aname%7D&ftpClient.socketFactory=%23sf&passiveMode=false&tempFileName=%24%7Bfile%3Aonlyname%7D.part]] 2015-06-29 13:36:43,337 [main ] DEBUG FtpOperations - Renaming file: out/file1.txt.part to: out/file1.txt 2015-06-29 13:36:43,343 [main ] DEBUG ProducerCache - >>>> Endpoint[ftp://admin:xxxxxx@localhost:21000/out/?delete=true&disconnect=false&fileName=%24%7Bfile%3Aname%7D&ftpClient.socketFactory=%23sf&passiveMode=false&tempFileName=%24%7Bfile%3Aonlyname%7D.part] Exchange[Message: Hello World] 2015-06-29 13:36:43,437 [main ] DEBUG FtpOperations - About to store file: file2.txt.part using stream: java.io.ByteArrayInputStream@6eda5c9 2015-06-29 13:36:43,479 [main ] DEBUG FtpOperations - Took 0.042 seconds (42 millis) to store file: file2.txt.part and FTP client returned: true 2015-06-29 13:36:43,481 [main ] DEBUG RemoteFileProducer - Wrote [out/file2.txt.part] to [Endpoint[ftp://admin:xxxxxx@localhost:21000/out/?delete=true&disconnect=false&fileName=%24%7Bfile%3Aname%7D&ftpClient.socketFactory=%23sf&passiveMode=false&tempFileName=%24%7Bfile%3Aonlyname%7D.part]] 2015-06-29 13:36:43,481 [main ] DEBUG FtpOperations - Renaming file: out/file2.txt.part to: out/file2.txt 2015-06-29 13:36:43,487 [main ] DEBUG ProducerCache - >>>> Endpoint[ftp://admin:xxxxxx@localhost:21000/out/?delete=true&disconnect=false&fileName=%24%7Bfile%3Aname%7D&ftpClient.socketFactory=%23sf&passiveMode=false&tempFileName=%24%7Bfile%3Aonlyname%7D.part] Exchange[Message: Hello World] 2015-06-29 13:36:43,580 [main ] DEBUG FtpOperations - About to store file: file3.txt.part using stream: java.io.ByteArrayInputStream@55b7a4e0 2015-06-29 13:36:43,623 [main ] DEBUG FtpOperations - Took 0.043 seconds (43 millis) to store file: file3.txt.part and FTP client returned: true 2015-06-29 13:36:43,625 [main ] DEBUG RemoteFileProducer - Wrote [out/file3.txt.part] to [Endpoint[ftp://admin:xxxxxx@localhost:21000/out/?delete=true&disconnect=false&fileName=%24%7Bfile%3Aname%7D&ftpClient.socketFactory=%23sf&passiveMode=false&tempFileName=%24%7Bfile%3Aonlyname%7D.part]] 2015-06-29 13:36:43,625 [main ] DEBUG FtpOperations - Renaming file: out/file3.txt.part to: out/file3.txt 2015-06-29 13:36:43,629 [main ] INFO NameProducerConnectionLeakTest - ******************************************************************************** 2015-06-29 13:36:43,629 [main ] INFO NameProducerConnectionLeakTest - Testing done: testConnectionLeak(org.apache.camel.component.file.remote.FileToFtpTempFileNameProducerConnectionLeakTest) 2015-06-29 13:36:43,629 [main ] INFO NameProducerConnectionLeakTest - Took: 0.606 seconds (606 millis) 2015-06-29 13:36:43,629 [main ] INFO NameProducerConnectionLeakTest - ******************************************************************************** 2015-06-29 13:36:43,629 [main ] DEBUG CamelTestSupport - tearDown test 2015-06-29 13:36:43,630 [main ] DEBUG SharedProducerServicePool - Stopping service pool: org.apache.camel.impl.SharedProducerServicePool@166fa74d 2015-06-29 13:36:43,631 [main ] DEBUG RemoteFileProducer - Disconnecting from: Endpoint[ftp://admin:xxxxxx@localhost:21000/out/?delete=true&disconnect=false&fileName=%24%7Bfile%3Aname%7D&ftpClient.socketFactory=%23sf&passiveMode=false&tempFileName=%24%7Bfile%3Aonlyname%7D.part] 2015-06-29 13:36:43,632 [main ] INFO NameProducerConnectionLeakTest - closing socket 1642030774 {noformat} > 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 > > 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://<USER@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)