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

Mariusz Galus commented on SPARK-22255:
---------------------------------------

It is wrapped in a while loop, so it will constantly be checking for available 
bytes on the InputStream.
I just know I've been dealing with broken pipes IOExceptions that are NOT 
swallowed by the case statement.

These IOExceptions happen when we are not markedForStop and when the 
[File]OutputStream is abruptly closed. 

"case _: IOException if markedForStop =>  // do nothing and proceed to stop 
appending" <- from FileAppender.scala



> SPARK-22255 FileAppender InputStream Read timeout and blocking state
> --------------------------------------------------------------------
>
>                 Key: SPARK-22255
>                 URL: https://issues.apache.org/jira/browse/SPARK-22255
>             Project: Spark
>          Issue Type: Bug
>          Components: Spark Core
>    Affects Versions: 2.2.0
>            Reporter: Mariusz Galus
>            Priority: Minor
>
> The FileAppender logic when reading from InputStream blocks. This can be 
> simply avoided with a InputStream.available() check prior to reading. 
> If this is done, a variable for estimated available bytes needs to be 
> instantiated to use in the conditionals. The conditional for reading from the 
> inputstream and the conditional for appending to the file.
> See: 
> https://github.com/Galus/spark/pull/1/commits/8ee5133c40e3f627ed0ebfb3aa63d5749b5bfdcb



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to