weixiuli opened a new pull request, #36061:
URL: https://github.com/apache/spark/pull/36061

   
   ### What changes were proposed in this pull request?
   
   It is unnecessary to release the ShuffleManagedBufferIterator or 
ShuffleChunkManagedBufferIterator or ManagedBufferIterator buffers when the 
client channel's connection is terminated.
   
   If a  client connection is closed before the iterator is fully drained, then 
the remaining materialized buffers should all be released, but some buffers 
like `ShuffleManagedBufferIterator`, `ShuffleChunkManagedBufferIterator`, 
`ManagedBufferIterator` are not materialized until the iterator is traversed by 
calling next(),  so we should not traverse and release them in order to avoid 
unnecessary buffer materialization,  which could be I/O based.
   ### Why are the changes needed?
   
   To reduce I/O operations  for the External Shuffle Service.
   
   ### Does this PR introduce _any_ user-facing change?
   No
   
   ### How was this patch tested?
   Existing unittests.
   
   Closes #36000 from weixiuli/SPARK-38683-unnecessary-release.
   
   Authored-by: weixiuli <[email protected]>
   (cherry picked from commit dc995f29592c720b959c877e31133bcd706d9b4e)
   Signed-off-by: yi.wu <[email protected]>
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to