[
https://issues.apache.org/jira/browse/HADOOP-11136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15385243#comment-15385243
]
JerryXin commented on HADOOP-11136:
-----------------------------------
I am running into this problem in ACTIVE mode.When you open a FTPInputStream
and never use it, the method will be blocked by
client.completePendingCommand().
Could we just add wrappedStream.close() before boolean cmdCompleted =
client.completePendingCommand()?
Or We can use pos check if the FTPInputStream has been read or not,if read ,we
call method client.completePendingCommand(),if not,we simply ignore it?
> FTPInputStream should close wrapped stream
> ------------------------------------------
>
> Key: HADOOP-11136
> URL: https://issues.apache.org/jira/browse/HADOOP-11136
> Project: Hadoop Common
> Issue Type: Improvement
> Components: fs
> Reporter: Dzianis Sokal
>
> This is reproducible in PASSIVE FTP mode, which is not supported by
> now(HADOOP-11135). However if we hack FTPFileSystem to enter into local
> passive mode, it will hang on client.completePendingCommand() in
> FTPInputStream line 114:
> {code}
> ...
> public synchronized void close() throws IOException {
> ...
> boolean cmdCompleted = client.completePendingCommand();
> ...
> {code}
> Going to completePendingCommand() docs I see that the stream should be closed
> before calling it. So seems like stream should be closed
> {code}
> wrappedStream.close();
> {code}
> right before
> {code}
> boolean cmdCompleted = client.completePendingCommand();
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]