vanzin commented on a change in pull request #25299: [SPARK-27651][Core] Avoid
the network when shuffle blocks are fetched from the same host
URL: https://github.com/apache/spark/pull/25299#discussion_r315841144
##########
File path:
core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -74,16 +76,22 @@ final class ShuffleBlockFetcherIterator(
maxReqSizeShuffleToMem: Long,
detectCorrupt: Boolean,
detectCorruptUseExtraMemory: Boolean,
- shuffleMetrics: ShuffleReadMetricsReporter)
+ shuffleMetrics: ShuffleReadMetricsReporter,
+ enableHostLocalDiskReading: Boolean = true)
extends Iterator[(BlockId, InputStream)] with DownloadFileManager with
Logging {
import ShuffleBlockFetcherIterator._
+ // Make remote requests at most maxBytesInFlight / 5 in length; the reason
to keep them
+ // smaller than maxBytesInFlight is to allow multiple, parallel fetches from
up to 5
+ // nodes, rather than blocking on reading output from one node.
+ val targetRemoteRequestSize = math.max(maxBytesInFlight / 5, 1L)
+
/**
* Total number of blocks to fetch. This should be equal to the total number
of blocks
* in [[blocksByAddress]] because we already filter out zero-sized blocks in
[[blocksByAddress]].
*
- * This should equal localBlocks.size + remoteBlocks.size.
+ * This should equal localBlocks.size + remoteBlocks.size +
hostLocalBlocks.size
Review comment:
Since you're updating this, you're removing `remoteBlocks`, so...
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]