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.

Reply via email to