Github user shahidki31 commented on a diff in the pull request:

    https://github.com/apache/spark/pull/23241#discussion_r239494478
  
    --- Diff: core/src/main/scala/org/apache/spark/io/CompressionCodec.scala ---
    @@ -197,4 +201,8 @@ class ZStdCompressionCodec(conf: SparkConf) extends 
CompressionCodec {
         // avoid overhead excessive of JNI call while trying to uncompress 
small amount of data.
         new BufferedInputStream(new ZstdInputStream(s), bufferSize)
       }
    +
    +  override def zstdEventLogCompressedInputStream(s: InputStream): 
InputStream = {
    +    new BufferedInputStream(new ZstdInputStream(s).setContinuous(true), 
bufferSize)
    --- End diff --
    
    Hi @srowen Thanks for the comment. 
    Yes. This parameter is, by default false, intended for continuous stream 
reading. So, if some classes doesn't need continuously read the data, do we 
need to set `isContinuous` as true.
    
     This method is called by other classes, like 'UnsafeShuffleWriter' etc. 
which are performance sensitive. If it try to read from the open frames, this 
issue (read error exception) will happen in other classes as well. But, other 
than from 'EventLoggingListener', this issue hasn't reported. That is why, I 
tried to limit it to the EventLoggingListener call. 
    
    Yes. If we do 'continuous' true for all, then this code will be much 
simplified. 



---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to