Uh oh!
There was an error while loading. Please reload this page.
Fixed bug for Jira Issue# 1527 - #517
Conversation
Details: rootDirs in DiskBlockManagerSuite doesn't get full path from rootDir0, rootDir1
nsuthar
commented
Apr 23, 2014
I have emailed the person who has opened this Jira ...I am waiting for him to assign it to me...if someone can assign it to me thn I can change Jira bug status appropritely. Email: nirajsuthar@gmail.com Thank you, |
AmplabJenkins
commented
Apr 23, 2014
Can one of the admins verify this patch? |
rxin
commented
Apr 24, 2014
Jenkins, test this please. |
AmplabJenkins
commented
Apr 24, 2014
Merged build triggered. |
AmplabJenkins
commented
Apr 24, 2014
Merged build started. |
AmplabJenkins
commented
Apr 24, 2014
Merged build finished. |
AmplabJenkins
commented
Apr 24, 2014
Refer to this link for build results: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/14426/ |
pwendell
commented
Apr 24, 2014
Jenkins, retest this please. |
AmplabJenkins
commented
Apr 24, 2014
Merged build triggered. |
AmplabJenkins
commented
Apr 24, 2014
Merged build started. |
AmplabJenkins
commented
Apr 24, 2014
Merged build finished. |
AmplabJenkins
commented
Apr 24, 2014
Refer to this link for build results: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/14427/ |
There was a problem hiding this comment.
I don't think this import is required (and it's causing a compile error anyway).
nsuthar
commented
Apr 24, 2014
removed import statement causing compilation error and build it locally...seems to be fixed now. |
nsuthar
commented
Apr 24, 2014
build passed. |
Move the PR#517 of apache-incubator-spark to the apache-spark Author: Mridul Muralidharan <mridul@gmail.com> Closesapache#159 from mridulm/master and squashes the following commits: 5ff59c2 [Mridul Muralidharan] Change property in suite also 167fad8 [Mridul Muralidharan] Address review comments 9bda70e [Mridul Muralidharan] Address review comments, akwats add to failedExecutors 270d841 [Mridul Muralidharan] Address review comments fa5d9f1 [Mridul Muralidharan] Bugfixes/improvements to scheduler : PR apache#517
Implements the shuffle locations API as part of SPARK-25299. This adds an additional field to all `MapStatus` objects: a `MapShuffleLocations` that indicates where a task's map output is stored. This module is optional and implementations of the pluggable shuffle writers and readers can ignore it accordingly. This API is designed with the use case in mind of future plugin implementations desiring to have the driver store metadata about where shuffle blocks are stored. There are a few caveats to this design: - We originally wanted to remove the `BlockManagerId` from `MapStatus` entirely and replace it with this object. However, doing this proves to be very difficult, as many places use the block manager ID for other kinds of shuffle data bookkeeping. As a result, we concede to storing the block manager ID redundantly here. However, the overhead should be minimal: because we cache block manager ids and default map shuffle locations, the two fields in `MapStatus` should point to the same object on the heap. Thus we add `O(M)` storage overhead on the driver, where for each map status we're storing an additional pointer to the same on-heap object. We will run benchmarks against the TPC-DS workload to see if there are significant performance repercussions for this implementation. - `KryoSerializer` expects `CompressedMapStatus` and `HighlyCompressedMapStatus` to be serialized via reflection, so originally all fields of these classes needed to be registered with Kryo. However, the `MapShuffleLocations` is now pluggable. We think however that previously Kryo was defaulting to Java serialization anyways, so we now just explicitly tell Kryo to use `ExternalizableSerializer` to deal with these objects. There's a small hack in the serialization protocol that attempts to avoid serializing the same `BlockManagerId` twice in the case that the map shuffle locations is a `DefaultMapShuffleLocations`.
Implements the shuffle locations API as part of SPARK-25299. This adds an additional field to all `MapStatus` objects: a `MapShuffleLocations` that indicates where a task's map output is stored. This module is optional and implementations of the pluggable shuffle writers and readers can ignore it accordingly. This API is designed with the use case in mind of future plugin implementations desiring to have the driver store metadata about where shuffle blocks are stored. There are a few caveats to this design: - We originally wanted to remove the `BlockManagerId` from `MapStatus` entirely and replace it with this object. However, doing this proves to be very difficult, as many places use the block manager ID for other kinds of shuffle data bookkeeping. As a result, we concede to storing the block manager ID redundantly here. However, the overhead should be minimal: because we cache block manager ids and default map shuffle locations, the two fields in `MapStatus` should point to the same object on the heap. Thus we add `O(M)` storage overhead on the driver, where for each map status we're storing an additional pointer to the same on-heap object. We will run benchmarks against the TPC-DS workload to see if there are significant performance repercussions for this implementation. - `KryoSerializer` expects `CompressedMapStatus` and `HighlyCompressedMapStatus` to be serialized via reflection, so originally all fields of these classes needed to be registered with Kryo. However, the `MapShuffleLocations` is now pluggable. We think however that previously Kryo was defaulting to Java serialization anyways, so we now just explicitly tell Kryo to use `ExternalizableSerializer` to deal with these objects. There's a small hack in the serialization protocol that attempts to avoid serializing the same `BlockManagerId` twice in the case that the map shuffle locations is a `DefaultMapShuffleLocations`.
Details: rootDirs in DiskBlockManagerSuite doesn't get full path from rootDir0, rootDir1