commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Quentin Devriendt (JIRA)" <j...@apache.org>
Subject [jira] [Created] (NET-552) SocketTimeoutException connecting a FTP server via an HTTP Proxy
Date Tue, 12 Aug 2014 09:58:12 GMT
Quentin Devriendt created NET-552:
-------------------------------------

             Summary: SocketTimeoutException connecting a FTP server via an HTTP Proxy
                 Key: NET-552
                 URL: https://issues.apache.org/jira/browse/NET-552
             Project: Commons Net
          Issue Type: Bug
          Components: FTP
    Affects Versions: 3.3
         Environment: All
            Reporter: Quentin Devriendt


Randomly, we're experiencing SocketTimoutException when we connect an FTP via an Http Proxy
:

java.io.IOException: Timed out waiting for initial connect reply
	at org.apache.commons.net.ftp.FTP._connectAction_(FTP.java:403)
	at org.apache.commons.net.ftp.FTPClient._connectAction_(FTPClient.java:931)
	at org.apache.commons.net.ftp.FTPClient._connectAction_(FTPClient.java:925)
	at org.apache.commons.net.ftp.FTPHTTPClient.connect(FTPHTTPClient.java:144)
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:150)
	at java.net.SocketInputStream.read(SocketInputStream.java:121)
	at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
	at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
	at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
	at java.io.InputStreamReader.read(InputStreamReader.java:184)
	at java.io.BufferedReader.fill(BufferedReader.java:161)
	at java.io.BufferedReader.read(BufferedReader.java:182)
	at org.apache.commons.net.io.CRLFLineReader.readLine(CRLFLineReader.java:58)
	at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:315)
	at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:295)
	at org.apache.commons.net.ftp.FTP._connectAction_(FTP.java:397)
	... 6 more

After analysis, I think the problem is that commons-net opens 2 BufferedReader on the same
InputStream : first in the FTPHTTPClient.tunnelHandshake method, and the second in FTP._connectAction()
method.
If the first BufferedReader reads all datas in the socket, the second waits until SocketTimeout.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message