IoUtils.close() operation takes a long time when using implicit SSL
-------------------------------------------------------------------
Key: FTPSERVER-251
URL: https://issues.apache.org/jira/browse/FTPSERVER-251
Project: FtpServer
Issue Type: Bug
Components: Server
Affects Versions: 1.0.0-RC1
Environment: SLES 10 Java6 1.0.0-M4 (with SSL patch for FTPSERVER-241)
Reporter: Randy Prager
Fix For: 1.0.0
Using a configuration for implicit SSL. & PASV connections
Client is Auth TLS + PASV
<listeners>
<nio-listener
name="default"
port="XXX"
implicit-ssl="false"
idle-timeout="60"
local-address="XXX">
<ssl>
<keystore file="res/xxx.jks" password="password"/>
</ssl>
<data-connection idle-timeout="60">
<active enabled="false" local-address="XXX" local-port="20"/>
<passive ports="XXX-XXX" address="XXXX"
external-address="YYYY"/>
</data-connection>
<blacklist>
</blacklist>
</nio-listener>
</listeners>
The LIST command takes approx 10 seconds to complete.
It appears that the call to IoUtils.close() in method
IODataConnection.transferToClient() is the culprit.
I put some trace in the finally block:
if (writer != null) {
start = System.currentTimeMillis();
writer.flush();
LOG.info("flush in ["+(System.currentTimeMillis()-start)+"]
ms.");
}
start = System.currentTimeMillis();
IoUtils.close(writer);
LOG.info("close in ["+(System.currentTimeMillis()-start)+"] ms.");
[ INFO] 2008-12-23 12:22:13,892 flush in [0] ms.
[ INFO] 2008-12-23 12:22:24,086 close in [10193] ms.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.