Github user aarondav commented on a diff in the pull request:
https://github.com/apache/spark/pull/3032#discussion_r19706108
--- Diff:
core/src/main/scala/org/apache/spark/storage/ShuffleBlockFetcherIterator.scala
---
@@ -313,14 +319,29 @@ object ShuffleBlockFetcherIterator {
}
/**
- * Result of a fetch from a remote block. A failure is represented as
size == -1.
+ * Result of a fetch from a remote block.
+ */
+ sealed trait FetchResult {
+ val blockId: BlockId
+ }
+
+ /**
+ * Result of a fetch from a remote block successfully.
* @param blockId block id
* @param size estimated size of the block, used to calculate
bytesInFlight.
- * Note that this is NOT the exact bytes. -1 if failure is
present.
- * @param buf [[ManagedBuffer]] for the content. null is error.
+ * Note that this is NOT the exact bytes.
+ * @param buf [[ManagedBuffer]] for the content.
*/
- case class FetchResult(blockId: BlockId, size: Long, buf: ManagedBuffer)
{
- def failed: Boolean = size == -1
- if (failed) assert(buf == null) else assert(buf != null)
+ sealed case class SuccessFetchResult(blockId: BlockId, size: Long, buf:
ManagedBuffer)
--- End diff --
ah, "sealed" is usually only applied to traits, as case classes themselves
are not supposed to be extended.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]