[
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]