Description
When executor decommissioning and fallback storage is enabled - the shuffle reads are failing with `FetchFailedException: Stream is corrupted`
ref: https://issues.apache.org/jira/browse/SPARK-18105 (search for decommission)
This is happening when the shuffle block is bigger than `inputstream.read` can read in one attempt. The code path is not reading the block fully (`readFully`) and the partial read is causing the exception.