-
Notifications
You must be signed in to change notification settings - Fork 28.9k
[SPARK-30235][CORE] Switching off host local disk reading of shuffle blocks in case of useOldFetchProtocol #26869
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Test build #115245 has finished for PR 26869 at commit
|
core/src/main/scala/org/apache/spark/storage/BlockManager.scala
Outdated
Show resolved
Hide resolved
|
BTW, @attilapiros . Could you recover the original PR template? |
|
Test build #115357 has finished for PR 26869 at commit
|
core/src/main/scala/org/apache/spark/internal/config/package.scala
Outdated
Show resolved
Hide resolved
core/src/main/scala/org/apache/spark/storage/BlockManager.scala
Outdated
Show resolved
Hide resolved
|
Test build #115426 has finished for PR 26869 at commit
|
|
Test build #115434 has finished for PR 26869 at commit
|
|
jenkins retest this please |
|
Test build #115450 has finished for PR 26869 at commit
|
|
Merging to master. |
What changes were proposed in this pull request?
When
spark.shuffle.useOldFetchProtocolis enabled then switching off the direct disk reading of host-local shuffle blocks and falling back to remote block fetching (and this way avoiding theGetLocalDirsForExecutorsblock transfer message which is introduced from Spark 3.0.0).Why are the changes needed?
In
[SPARK-27651][Core] Avoid the network when shuffle blocks are fetched from the same hosta new block transfer message is introduced,GetLocalDirsForExecutors. This new message could be sent to the external shuffle service and as it is not supported by the previous version of external shuffle service it should be avoided whenspark.shuffle.useOldFetchProtocolis true.In the migration guide I changed the exception type as
org.apache.spark.network.shuffle.protocol.BlockTransferMessage.Decoder#fromByteBufferthrows a IllegalArgumentException with the given text and uses the message type which is just a simple number (byte). I have checked and this is true for version 2.4.4 too.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
This specific case (considering one extra boolean to switch off host local disk reading feature) is not tested but existing tests were run.