camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Grzegorz Grzybek (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-8860) Too many connection in TIME_WAIT when tempfilename is set in the FTP producer URI.
Date Tue, 07 Jul 2015 14:32:04 GMT

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

Grzegorz Grzybek commented on CAMEL-8860:
-----------------------------------------

I checked with camel 2.14.0 as well with the same result. I hade many sockets in TIME-WAIT
state.
Please try debugging https://github.com/apache/commons-net/blob/trunk/src/main/java/org/apache/commons/net/ftp/FTPClient.java#L810
- commons-net/ftpclient opens either {{_serverSocketFactory_.createServerSocket}} (active
mode) or {{_socketFactory_.createSocket()}} (passive mode), but I didn't have problems with
creating socket (reusing them)...

Maybe you have the problem described here: http://ma.juii.net/blog/excessive-ftp-connections
?

> 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://<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)

Mime
View raw message