You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by GitBox <gi...@apache.org> on 2021/06/24 13:19:54 UTC
[GitHub] [spark] yaooqinn opened a new pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
yaooqinn opened a new pull request #33063:
URL: https://github.com/apache/spark/pull/33063
<!--
Thanks for sending a pull request! Here are some tips for you:
1. If this is your first time, please read our contributor guidelines: https://spark.apache.org/contributing.html
2. Ensure you have added or run the appropriate tests for your PR: https://spark.apache.org/developer-tools.html
3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][SPARK-XXXX] Your PR title ...'.
4. Be sure to keep the PR description updated to reflect all changes.
5. Please write your PR title to summarize what this PR proposes.
6. If possible, provide a concise example to reproduce the issue for a faster review.
7. If you want to add a new configuration, please read the guideline first for naming configurations in
'core/src/main/scala/org/apache/spark/internal/config/ConfigEntry.scala'.
8. If you want to add or modify an error message, please read the guideline first:
https://spark.apache.org/error-message-guidelines.html
-->
### What changes were proposed in this pull request?
<!--
Please clarify what changes you are proposing. The purpose of this section is to outline the changes and how this PR fixes the issue.
If possible, please consider writing useful notes for better and faster reviews in your PR. See the examples below.
1. If you refactor some codes with changing classes, showing the class hierarchy will help reviewers.
2. If you fix some SQL features, you can provide some references of other DBMSes.
3. If there is design documentation, please add the link.
4. If there is a discussion in the mailing list, please add the link.
-->
### Why are the changes needed?
<!--
Please clarify why the changes are needed. For instance,
1. If you propose a new API, clarify the use case for a new API.
2. If you fix a bug, you can clarify why it is a bug.
-->
### Does this PR introduce _any_ user-facing change?
<!--
Note that it means *any* user-facing change including all aspects such as the documentation fix.
If yes, please clarify the previous behavior and the change this PR proposes - provide the console output, description and/or an example to show the behavior difference if possible.
If possible, please also clarify if this is a user-facing change compared to the released Spark versions or within the unreleased branches such as master.
If no, write 'No'.
-->
### How was this patch tested?
<!--
If tests were added, say they were added here. Please make sure to add some test cases that check the changes thoroughly including negative and positive cases if possible.
If it was tested in a way different from regular unit tests, please clarify how you tested step by step, ideally copy and paste-able, so that other reviewers can test and check, and descendants can verify in the future.
If tests were not added, please describe why they were not added and/or why it was difficult to add.
-->
Mannully,
```sql
SET spark.sql.adaptive.enabled=true;
SET spark.sql.shuffle.partitions=3000;
SELECT /*+ REPARTITION */ 1 as pid, id from range(1, 1000000, 1, 500);
SELECT /*+ REPARTITION(pid, id) */ 1 as pid, id from range(1, 1000000, 1, 500);
```
#### before
```log
21/06/23 13:54:22 DEBUG ShuffleBlockFetcherIterator: maxBytesInFlight: 50331648, targetRemoteRequestSize: 10066329, maxBlocksInFlightPerAddress: 2147483647
21/06/23 13:54:38 DEBUG ShuffleBlockFetcherIterator: Creating fetch request of 2314708 at BlockManagerId(2, 10.1.3.114, 36423, None) with 86 blocks
21/06/23 13:54:59 DEBUG ShuffleBlockFetcherIterator: Creating fetch request of 2636612 at BlockManagerId(3, 10.1.3.115, 34293, None) with 87 blocks
21/06/23 13:55:18 DEBUG ShuffleBlockFetcherIterator: Creating fetch request of 2508706 at BlockManagerId(4, 10.1.3.116, 41869, None) with 90 blocks
21/06/23 13:55:34 DEBUG ShuffleBlockFetcherIterator: Creating fetch request of 2350854 at BlockManagerId(5, 10.1.3.117, 45787, None) with 85 blocks
21/06/23 13:55:34 INFO ShuffleBlockFetcherIterator: Getting 438 (11.8 MiB) non-empty blocks including 90 (2.5 MiB) local and 0 (0.0 B) host-local and 348 (9.4 MiB) remote blocks
21/06/23 13:55:34 DEBUG ShuffleBlockFetcherIterator: Sending request for 87 blocks (2.5 MiB) from 10.1.3.115:34293
21/06/23 13:55:34 INFO TransportClientFactory: Successfully created connection to /10.1.3.115:34293 after 1 ms (0 ms spent in bootstraps)
21/06/23 13:55:34 DEBUG ShuffleBlockFetcherIterator: Sending request for 90 blocks (2.4 MiB) from 10.1.3.116:41869
21/06/23 13:55:34 INFO TransportClientFactory: Successfully created connection to /10.1.3.116:41869 after 2 ms (0 ms spent in bootstraps)
21/06/23 13:55:34 DEBUG ShuffleBlockFetcherIterator: Sending request for 85 blocks (2.2 MiB) from 10.1.3.117:45787
```
```log
21/06/23 14:00:45 INFO MapOutputTracker: Broadcast outputstatuses size = 411, actual size = 828997
21/06/23 14:00:45 INFO MapOutputTrackerWorker: Got the map output locations
21/06/23 14:00:45 DEBUG ShuffleBlockFetcherIterator: maxBytesInFlight: 50331648, targetRemoteRequestSize: 10066329, maxBlocksInFlightPerAddress: 2147483647
21/06/23 14:00:55 DEBUG ShuffleBlockFetcherIterator: Creating fetch request of 1894389 at BlockManagerId(2, 10.1.3.114, 36423, None) with 99 blocks
21/06/23 14:01:04 DEBUG ShuffleBlockFetcherIterator: Creating fetch request of 1919993 at BlockManagerId(3, 10.1.3.115, 34293, None) with 100 blocks
21/06/23 14:01:14 DEBUG ShuffleBlockFetcherIterator: Creating fetch request of 1977186 at BlockManagerId(5, 10.1.3.117, 45787, None) with 103 blocks
21/06/23 14:01:23 DEBUG ShuffleBlockFetcherIterator: Creating fetch request of 1938336 at BlockManagerId(4, 10.1.3.116, 41869, None) with 101 blocks
21/06/23 14:01:23 INFO ShuffleBlockFetcherIterator: Getting 500 (9.1 MiB) non-empty blocks including 97 (1820.3 KiB) local and 0 (0.0 B) host-local and 403 (7.4 MiB) remote blocks
21/06/23 14:01:23 DEBUG ShuffleBlockFetcherIterator: Sending request for 101 blocks (1892.9 KiB) from 10.1.3.116:41869
21/06/23 14:01:23 DEBUG ShuffleBlockFetcherIterator: Sending request for 103 blocks (1930.8 KiB) from 10.1.3.117:45787
21/06/23 14:01:23 DEBUG ShuffleBlockFetcherIterator: Sending request for 99 blocks (1850.0 KiB) from 10.1.3.114:36423
21/06/23 14:01:23 DEBUG ShuffleBlockFetcherIterator: Sending request for 100 blocks (1875.0 KiB) from 10.1.3.115:34293
21/06/23 14:01:23 INFO ShuffleBlockFetcherIterator: Started 4 remote fetches in 37889 ms
```
#### After
```log
21/06/24 13:01:16 DEBUG ShuffleBlockFetcherIterator: maxBytesInFlight: 50331648, targetRemoteRequestSize: 10066329, maxBlocksInFlightPerAddress: 2147483647
21/06/24 13:01:16 INFO ShuffleBlockFetcherIterator: ==> Call blockInfos.map(_._2).sum: 40 ms
21/06/24 13:01:16 INFO ShuffleBlockFetcherIterator: ==> Call mergeFetchBlockInfo for shuffle_0_9_2990_2997/9: 0 ms
21/06/24 13:01:16 INFO ShuffleBlockFetcherIterator: ==> Call mergeFetchBlockInfo for shuffle_0_15_2395_2997/15: 0 ms
```
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] cloud-fan commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
cloud-fan commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r657973694
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -435,26 +438,24 @@ final class ShuffleBlockFetcherIterator(
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ var curBlocks = new ArrayBuffer[FetchBlockInfo]()
while (iterator.hasNext) {
val (blockId, size, mapIndex) = iterator.next()
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ collectedRemoteRequests).to[ArrayBuffer]
Review comment:
how about
```
val newCurBlocks = createFetchRequests...
curBlocks.clear
curBlocks ++= newCurBlocks
```
Then `curBlocks` can be a val.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] cloud-fan commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
cloud-fan commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867814185
retest this please
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867770670
**[Test build #140267 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140267/testReport)** for PR 33063 at commit [`8352ac8`](https://github.com/apache/spark/commit/8352ac810659da7d22551134402be98b97cacd94).
* This patch passes all tests.
* This patch merges cleanly.
* This patch adds no public classes.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] mridulm commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
mridulm commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r658522658
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -433,28 +436,25 @@ final class ShuffleBlockFetcherIterator(
address: BlockManagerId,
blockInfos: Seq[(BlockId, Long, Int)],
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
- val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ val curBlocks = new ArrayBuffer[FetchBlockInfo]()
- while (iterator.hasNext) {
- val (blockId, size, mapIndex) = iterator.next()
+ for ((blockId, size, mapIndex) <- blockInfos) {
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
- curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ val rest = createFetchRequests(curBlocks, address, isLast = false, collectedRemoteRequests)
+ curBlocks.clear()
+ curBlocks ++= rest
Review comment:
Instead of clearing it, create new instance ?
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867696573
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44798/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867696573
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44798/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867866023
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44805/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867866514
**[Test build #140276 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140276/testReport)** for PR 33063 at commit [`3813003`](https://github.com/apache/spark/commit/38130037eab893876daaf6d5c7b3abdb8107ec22).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868326323
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868288071
Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44838/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868306530
Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44838/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867900730
Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44807/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868476524
**[Test build #140320 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140320/testReport)** for PR 33063 at commit [`32ac63d`](https://github.com/apache/spark/commit/32ac63d5337f9f922a8be3c7e0718b033bb3b1e7).
* This patch passes all tests.
* This patch merges cleanly.
* This patch adds no public classes.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] yaooqinn closed pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
yaooqinn closed pull request #33063:
URL: https://github.com/apache/spark/pull/33063
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868263810
**[Test build #140307 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140307/testReport)** for PR 33063 at commit [`f894220`](https://github.com/apache/spark/commit/f8942209f2a00ef32940cd2805474c117fd89d5e).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] yaooqinn commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
yaooqinn commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r657997793
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -435,26 +438,24 @@ final class ShuffleBlockFetcherIterator(
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ var curBlocks = new ArrayBuffer[FetchBlockInfo]()
while (iterator.hasNext) {
val (blockId, size, mapIndex) = iterator.next()
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ collectedRemoteRequests).to[ArrayBuffer]
Review comment:
good idea
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867967623
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140276/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867745342
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44799/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] yaooqinn commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
yaooqinn commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r658167988
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -435,26 +438,24 @@ final class ShuffleBlockFetcherIterator(
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ var curBlocks = new ArrayBuffer[FetchBlockInfo]()
while (iterator.hasNext) {
val (blockId, size, mapIndex) = iterator.next()
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ collectedRemoteRequests).to[ArrayBuffer]
Review comment:
`curBlocks.clear` will clear all the elements which are still needed
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867691358
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44797/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868217314
**[Test build #140297 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140297/testReport)** for PR 33063 at commit [`8e4696f`](https://github.com/apache/spark/commit/8e4696f809974e17c0fe1d6cec22f4d4b4365cb9).
* This patch passes all tests.
* This patch merges cleanly.
* This patch adds no public classes.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867900697
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867956643
**[Test build #140276 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140276/testReport)** for PR 33063 at commit [`3813003`](https://github.com/apache/spark/commit/38130037eab893876daaf6d5c7b3abdb8107ec22).
* This patch passes all tests.
* This patch merges cleanly.
* This patch adds no public classes.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868478147
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140320/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] mridulm commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
mridulm commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868827146
@dongjoon-hyun I am +1 on the change if the performance is still good based on @yaooqinn's benchmark (will be going on vacation soon, so dont want reviews to be blocked on my accord !). Thx
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] mridulm commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
mridulm commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r658558309
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -433,28 +436,25 @@ final class ShuffleBlockFetcherIterator(
address: BlockManagerId,
blockInfos: Seq[(BlockId, Long, Int)],
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
- val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ val curBlocks = new ArrayBuffer[FetchBlockInfo]()
- while (iterator.hasNext) {
- val (blockId, size, mapIndex) = iterator.next()
+ for ((blockId, size, mapIndex) <- blockInfos) {
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
- curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ val rest = createFetchRequests(curBlocks, address, isLast = false, collectedRemoteRequests)
+ curBlocks.clear()
+ curBlocks ++= rest
Review comment:
The PR is already doing this for `mergeContinuousShuffleBlockIdsIfNeeded` ? To be fair, it is done such that the `clear` should not impact that - but it is better to prevent accidental issues in future.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867745342
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44799/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] dongjoon-hyun commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
dongjoon-hyun commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868764458
Hi, @mridulm . Could you do the review once more?
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868437504
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44852/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867683301
Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44797/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] yaooqinn commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
yaooqinn commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r658565010
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -433,28 +436,25 @@ final class ShuffleBlockFetcherIterator(
address: BlockManagerId,
blockInfos: Seq[(BlockId, Long, Int)],
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
- val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ val curBlocks = new ArrayBuffer[FetchBlockInfo]()
- while (iterator.hasNext) {
- val (blockId, size, mapIndex) = iterator.next()
+ for ((blockId, size, mapIndex) <- blockInfos) {
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
- curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ val rest = createFetchRequests(curBlocks, address, isLast = false, collectedRemoteRequests)
+ curBlocks.clear()
+ curBlocks ++= rest
Review comment:
> The PR is already doing this for `mergeContinuousShuffleBlockIdsIfNeeded`?
Not by this PR. `mergeContinuousShuffleBlockIdsIfNeeded` takes both `Seq` for handling local/host-local blocks and `ArrayBuffer` for the remotes. This PR modified it to ensure that it always returns a new copy for both `doBatchFetch` and `!doBatchFetch`. And before this PR, `!doBatchFetch` branch might potentially result in surprises.
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -433,28 +436,25 @@ final class ShuffleBlockFetcherIterator(
address: BlockManagerId,
blockInfos: Seq[(BlockId, Long, Int)],
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
- val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ val curBlocks = new ArrayBuffer[FetchBlockInfo]()
- while (iterator.hasNext) {
- val (blockId, size, mapIndex) = iterator.next()
+ for ((blockId, size, mapIndex) <- blockInfos) {
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
- curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ val rest = createFetchRequests(curBlocks, address, isLast = false, collectedRemoteRequests)
+ curBlocks.clear()
+ curBlocks ++= rest
Review comment:
> The PR is already doing this for `mergeContinuousShuffleBlockIdsIfNeeded`?
Not by this PR. `mergeContinuousShuffleBlockIdsIfNeeded` takes both `Seq` for handling local/host-local blocks and `ArrayBuffer` for the remotes. This PR modified it to ensure that it always returns a new copy for both `doBatchFetch` and `!doBatchFetch`. And before this PR, `!doBatchFetch` branch might potentially result in surprises.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] mridulm commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
mridulm commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r658558309
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -433,28 +436,25 @@ final class ShuffleBlockFetcherIterator(
address: BlockManagerId,
blockInfos: Seq[(BlockId, Long, Int)],
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
- val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ val curBlocks = new ArrayBuffer[FetchBlockInfo]()
- while (iterator.hasNext) {
- val (blockId, size, mapIndex) = iterator.next()
+ for ((blockId, size, mapIndex) <- blockInfos) {
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
- curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ val rest = createFetchRequests(curBlocks, address, isLast = false, collectedRemoteRequests)
+ curBlocks.clear()
+ curBlocks ++= rest
Review comment:
The PR is already doing this for `mergeContinuousShuffleBlockIdsIfNeeded` ?
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868326323
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44838/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867895512
Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44807/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867825724
**[Test build #140274 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140274/testReport)** for PR 33063 at commit [`0f0e183`](https://github.com/apache/spark/commit/0f0e183ef96274abb5902f17c699ae595402f72c).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867688815
Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44798/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] mridulm commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
mridulm commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r658519592
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -397,21 +400,21 @@ final class ShuffleBlockFetcherIterator(
}
private def createFetchRequest(
- blocks: Seq[FetchBlockInfo],
+ blocks: ArrayBuffer[FetchBlockInfo],
address: BlockManagerId): FetchRequest = {
logDebug(s"Creating fetch request of ${blocks.map(_.size).sum} at $address "
+ s"with ${blocks.size} blocks")
- FetchRequest(address, blocks)
+ FetchRequest(address, blocks.toSeq)
}
private def createFetchRequests(
Review comment:
For this PR, do we really need to modify this method ? (other than a `retBlocks = blocks.toSeq` part).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] mridulm commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
mridulm commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r658558309
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -433,28 +436,25 @@ final class ShuffleBlockFetcherIterator(
address: BlockManagerId,
blockInfos: Seq[(BlockId, Long, Int)],
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
- val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ val curBlocks = new ArrayBuffer[FetchBlockInfo]()
- while (iterator.hasNext) {
- val (blockId, size, mapIndex) = iterator.next()
+ for ((blockId, size, mapIndex) <- blockInfos) {
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
- curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ val rest = createFetchRequests(curBlocks, address, isLast = false, collectedRemoteRequests)
+ curBlocks.clear()
+ curBlocks ++= rest
Review comment:
The PR is already doing this for `mergeContinuousShuffleBlockIdsIfNeeded` ? This is why it is important to preserve semantics.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] dongjoon-hyun commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
dongjoon-hyun commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868955270
Thank you, @yaooqinn and @mridulm !
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868157886
**[Test build #140297 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140297/testReport)** for PR 33063 at commit [`8e4696f`](https://github.com/apache/spark/commit/8e4696f809974e17c0fe1d6cec22f4d4b4365cb9).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] cloud-fan commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
cloud-fan commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r657972515
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -435,26 +438,24 @@ final class ShuffleBlockFetcherIterator(
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ var curBlocks = new ArrayBuffer[FetchBlockInfo]()
while (iterator.hasNext) {
val (blockId, size, mapIndex) = iterator.next()
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ collectedRemoteRequests).to[ArrayBuffer]
curRequestSize = curBlocks.map(_.size).sum
}
}
// Add in the final request
if (curBlocks.nonEmpty) {
- curBlocks = createFetchRequests(curBlocks, address, isLast = true,
- collectedRemoteRequests)
- curRequestSize = curBlocks.map(_.size).sum
+ createFetchRequests(curBlocks, address, isLast = true, collectedRemoteRequests)
Review comment:
ah, we are leaving this method and no need to update local variables here.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868178467
Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44828/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868420792
Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44852/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867866514
**[Test build #140276 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140276/testReport)** for PR 33063 at commit [`3813003`](https://github.com/apache/spark/commit/38130037eab893876daaf6d5c7b3abdb8107ec22).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868218449
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140297/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] otterc commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
otterc commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868219794
Looks good to me as well
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868778155
**[Test build #140330 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140330/testReport)** for PR 33063 at commit [`dd78ab8`](https://github.com/apache/spark/commit/dd78ab8f7c7abdaa337ff09a67a23c6a06c53a0f).
* This patch passes all tests.
* This patch merges cleanly.
* This patch adds the following public classes _(experimental)_:
* `final case class FileNameSpec(prefix: String, suffix: String)`
* ` new_class = type(\"NameType\", (NameTypeHolder,), `
* ` new_class = type(\"NameType\", (NameTypeHolder,), `
* `sealed trait FieldName extends LeafExpression with Unevaluable `
* `case class UnresolvedFieldName(name: Seq[String]) extends FieldName `
* `case class ResolvedFieldName(name: Seq[String]) extends FieldName`
* `case class RebalancePartitions(`
* `trait AlterTableCommand extends UnaryCommand `
* `case class AlterTableDropColumns(`
* `case class AlterTableRenameColumn(`
* `case class MergingSessionsExec(`
* `class MergingSessionsIterator(`
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868383956
**[Test build #140320 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140320/testReport)** for PR 33063 at commit [`32ac63d`](https://github.com/apache/spark/commit/32ac63d5337f9f922a8be3c7e0718b033bb3b1e7).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867644561
**[Test build #140267 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140267/testReport)** for PR 33063 at commit [`8352ac8`](https://github.com/apache/spark/commit/8352ac810659da7d22551134402be98b97cacd94).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867900697
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868761109
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44862/
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868478147
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140320/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] yaooqinn commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
yaooqinn commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867646212
cc @cloud-fan @maropu @HyukjinKwon @srowen thanks very much
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867644561
**[Test build #140267 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140267/testReport)** for PR 33063 at commit [`8352ac8`](https://github.com/apache/spark/commit/8352ac810659da7d22551134402be98b97cacd94).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] mridulm commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
mridulm commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-869029335
Thanks @yaooqinn !
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] mridulm commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
mridulm commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868824419
Thanks for the changes @yaooqinn and thanks for the ping @dongjoon-hyun :-)
The changes look good - but I want to make sure we still have similar performance benefits as we saw in the PR description.
Will it be possible to rerun the benchmark to ensure no regression @yaooqinn ? Thx !
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867745302
Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44799/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868383956
**[Test build #140320 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140320/testReport)** for PR 33063 at commit [`32ac63d`](https://github.com/apache/spark/commit/32ac63d5337f9f922a8be3c7e0718b033bb3b1e7).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868181442
Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44828/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867690813
**[Test build #140268 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140268/testReport)** for PR 33063 at commit [`de42ae5`](https://github.com/apache/spark/commit/de42ae552cb5f37c8738e994664faa83ac645922).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868692253
**[Test build #140330 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140330/testReport)** for PR 33063 at commit [`dd78ab8`](https://github.com/apache/spark/commit/dd78ab8f7c7abdaa337ff09a67a23c6a06c53a0f).
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867790753
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140268/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868761109
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44862/
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867734979
Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44799/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867691358
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44797/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868792348
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140330/
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868327737
**[Test build #140307 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140307/testReport)** for PR 33063 at commit [`f894220`](https://github.com/apache/spark/commit/f8942209f2a00ef32940cd2805474c117fd89d5e).
* This patch **fails Spark unit tests**.
* This patch merges cleanly.
* This patch adds no public classes.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867967623
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140276/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] yaooqinn commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
yaooqinn commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r658565014
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -433,28 +436,25 @@ final class ShuffleBlockFetcherIterator(
address: BlockManagerId,
blockInfos: Seq[(BlockId, Long, Int)],
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
- val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ val curBlocks = new ArrayBuffer[FetchBlockInfo]()
- while (iterator.hasNext) {
- val (blockId, size, mapIndex) = iterator.next()
+ for ((blockId, size, mapIndex) <- blockInfos) {
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
- curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ val rest = createFetchRequests(curBlocks, address, isLast = false, collectedRemoteRequests)
+ curBlocks.clear()
+ curBlocks ++= rest
Review comment:
> The PR is already doing this for `mergeContinuousShuffleBlockIdsIfNeeded`?
Not by this PR. `mergeContinuousShuffleBlockIdsIfNeeded` takes both `Seq` for handling local/host-local blocks and `ArrayBuffer` for the remotes. This PR modified it to ensure that it always returns a new copy in the `ArrayBuffer` form for both `doBatchFetch` and `!doBatchFetch`. And before this PR, `!doBatchFetch` branch might potentially result in surprises.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868722374
Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44862/
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867690813
**[Test build #140268 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140268/testReport)** for PR 33063 at commit [`de42ae5`](https://github.com/apache/spark/commit/de42ae552cb5f37c8738e994664faa83ac645922).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867696541
Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44798/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] yaooqinn commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
yaooqinn commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868947497
thanks all! merged to master/3.1
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867788044
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140267/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] Ngone51 commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
Ngone51 commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868178849
cc @mridulm @otterc
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867866023
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44805/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868437504
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44852/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] yaooqinn commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
yaooqinn commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r658533727
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -433,28 +436,25 @@ final class ShuffleBlockFetcherIterator(
address: BlockManagerId,
blockInfos: Seq[(BlockId, Long, Int)],
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
- val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ val curBlocks = new ArrayBuffer[FetchBlockInfo]()
- while (iterator.hasNext) {
- val (blockId, size, mapIndex) = iterator.next()
+ for ((blockId, size, mapIndex) <- blockInfos) {
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
- curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ val rest = createFetchRequests(curBlocks, address, isLast = false, collectedRemoteRequests)
+ curBlocks.clear()
+ curBlocks ++= rest
Review comment:
> If code evolves to use curBlocks in createFetchRequests or downstream (as Seq)
I not sure it's a good idea to use an ArrayBuffer as Seq implicitly.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] yaooqinn commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
yaooqinn commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r658570541
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -433,28 +436,25 @@ final class ShuffleBlockFetcherIterator(
address: BlockManagerId,
blockInfos: Seq[(BlockId, Long, Int)],
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
- val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ val curBlocks = new ArrayBuffer[FetchBlockInfo]()
- while (iterator.hasNext) {
- val (blockId, size, mapIndex) = iterator.next()
+ for ((blockId, size, mapIndex) <- blockInfos) {
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
- curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ val rest = createFetchRequests(curBlocks, address, isLast = false, collectedRemoteRequests)
+ curBlocks.clear()
+ curBlocks ++= rest
Review comment:
If you insist, I can revert the last commit https://github.com/apache/spark/pull/33063/commits/f8942209f2a00ef32940cd2805474c117fd89d5e. I do not have a strong opinion on it.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868692253
**[Test build #140330 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140330/testReport)** for PR 33063 at commit [`dd78ab8`](https://github.com/apache/spark/commit/dd78ab8f7c7abdaa337ff09a67a23c6a06c53a0f).
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867788044
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] mridulm commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
mridulm commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r658522658
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -433,28 +436,25 @@ final class ShuffleBlockFetcherIterator(
address: BlockManagerId,
blockInfos: Seq[(BlockId, Long, Int)],
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
- val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ val curBlocks = new ArrayBuffer[FetchBlockInfo]()
- while (iterator.hasNext) {
- val (blockId, size, mapIndex) = iterator.next()
+ for ((blockId, size, mapIndex) <- blockInfos) {
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
- curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ val rest = createFetchRequests(curBlocks, address, isLast = false, collectedRemoteRequests)
+ curBlocks.clear()
+ curBlocks ++= rest
Review comment:
Instead of clearing it, create new instance ? If code evolves to use `curBlocks` in `createFetchRequests` or downstream (as Seq), emptying it from under it would result in surprises.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] yaooqinn commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
yaooqinn commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868943286
@mridulm @dongjoon-hyun, I re-run the benchmark based on the final commit manually. The debug log below shows the performance regression is gone.
```log
21/06/26 04:04:01 INFO MapOutputTrackerWorker: Got the map output locations
21/06/26 04:04:01 DEBUG ShuffleBlockFetcherIterator: maxBytesInFlight: 50331648, targetRemoteRequestSize: 10066329, maxBlocksInFlightPerAddress: 2147483647
21/06/26 04:04:01 DEBUG ShuffleBlockFetcherIterator: Creating fetch request of 2606046 at BlockManagerId(2, 10.1.5.72, 37767, None) with 88 blocks
21/06/26 04:04:01 DEBUG ShuffleBlockFetcherIterator: Collected remote fetch requests for BlockManagerId(2, 10.1.5.72, 37767, None) in 82 ms
```
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868328890
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140307/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867898863
**[Test build #140274 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140274/testReport)** for PR 33063 at commit [`0f0e183`](https://github.com/apache/spark/commit/0f0e183ef96274abb5902f17c699ae595402f72c).
* This patch **fails Spark unit tests**.
* This patch merges cleanly.
* This patch adds no public classes.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867789477
**[Test build #140268 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140268/testReport)** for PR 33063 at commit [`de42ae5`](https://github.com/apache/spark/commit/de42ae552cb5f37c8738e994664faa83ac645922).
* This patch **fails Spark unit tests**.
* This patch merges cleanly.
* This patch adds no public classes.
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868263810
**[Test build #140307 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140307/testReport)** for PR 33063 at commit [`f894220`](https://github.com/apache/spark/commit/f8942209f2a00ef32940cd2805474c117fd89d5e).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868218449
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140297/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868792348
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140330/
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868741241
Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44862/
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867691300
Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44797/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867825724
**[Test build #140274 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140274/testReport)** for PR 33063 at commit [`0f0e183`](https://github.com/apache/spark/commit/0f0e183ef96274abb5902f17c699ae595402f72c).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] cloud-fan commented on a change in pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
cloud-fan commented on a change in pull request #33063:
URL: https://github.com/apache/spark/pull/33063#discussion_r657971621
##########
File path: core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
##########
@@ -435,26 +438,24 @@ final class ShuffleBlockFetcherIterator(
collectedRemoteRequests: ArrayBuffer[FetchRequest]): Unit = {
val iterator = blockInfos.iterator
var curRequestSize = 0L
- var curBlocks = Seq.empty[FetchBlockInfo]
+ var curBlocks = new ArrayBuffer[FetchBlockInfo]()
while (iterator.hasNext) {
val (blockId, size, mapIndex) = iterator.next()
assertPositiveBlockSize(blockId, size)
- curBlocks = curBlocks ++ Seq(FetchBlockInfo(blockId, size, mapIndex))
+ curBlocks += FetchBlockInfo(blockId, size, mapIndex)
curRequestSize += size
// For batch fetch, the actual block in flight should count for merged block.
val mayExceedsMaxBlocks = !doBatchFetch && curBlocks.size >= maxBlocksInFlightPerAddress
if (curRequestSize >= targetRemoteRequestSize || mayExceedsMaxBlocks) {
curBlocks = createFetchRequests(curBlocks, address, isLast = false,
- collectedRemoteRequests)
+ collectedRemoteRequests).to[ArrayBuffer]
curRequestSize = curBlocks.map(_.size).sum
}
}
// Add in the final request
if (curBlocks.nonEmpty) {
- curBlocks = createFetchRequests(curBlocks, address, isLast = true,
- collectedRemoteRequests)
- curRequestSize = curBlocks.map(_.size).sum
+ createFetchRequests(curBlocks, address, isLast = true, collectedRemoteRequests)
Review comment:
why can we skip updating `curBlocks` and `curRequestSize` here?
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-867861578
Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44805/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868181454
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44828/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] SparkQA removed a comment on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
SparkQA removed a comment on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868157886
**[Test build #140297 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/140297/testReport)** for PR 33063 at commit [`8e4696f`](https://github.com/apache/spark/commit/8e4696f809974e17c0fe1d6cec22f4d4b4365cb9).
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
[GitHub] [spark] AmplabJenkins commented on pull request #33063: [SPARK-35879][Core][Shuffle] Fix performance regression caused by collectFetchRequests
Posted by GitBox <gi...@apache.org>.
AmplabJenkins commented on pull request #33063:
URL: https://github.com/apache/spark/pull/33063#issuecomment-868181454
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44828/
--
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:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org