Repository: spark
Updated Branches:
  refs/heads/master 5e4c06f8e -> d8f84f26e


SPARK-4805 [CORE] BlockTransferMessage.toByteArray() trips assertion

Allocate enough room for type byte as well as message, to avoid tripping 
assertion about capacity of the buffer

Author: Sean Owen <[email protected]>

Closes #3650 from srowen/SPARK-4805 and squashes the following commits:

9e1d502 [Sean Owen] Allocate enough room for type byte as well as message, to 
avoid tripping assertion about capacity of the buffer


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/d8f84f26
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/d8f84f26
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/d8f84f26

Branch: refs/heads/master
Commit: d8f84f26e388055ca7459810e001d05ab60af15b
Parents: 5e4c06f
Author: Sean Owen <[email protected]>
Authored: Tue Dec 9 16:38:27 2014 -0800
Committer: Aaron Davidson <[email protected]>
Committed: Tue Dec 9 16:38:27 2014 -0800

----------------------------------------------------------------------
 .../spark/network/shuffle/protocol/BlockTransferMessage.java      | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/d8f84f26/network/shuffle/src/main/java/org/apache/spark/network/shuffle/protocol/BlockTransferMessage.java
----------------------------------------------------------------------
diff --git 
a/network/shuffle/src/main/java/org/apache/spark/network/shuffle/protocol/BlockTransferMessage.java
 
b/network/shuffle/src/main/java/org/apache/spark/network/shuffle/protocol/BlockTransferMessage.java
index b4b13b8..6c1210b 100644
--- 
a/network/shuffle/src/main/java/org/apache/spark/network/shuffle/protocol/BlockTransferMessage.java
+++ 
b/network/shuffle/src/main/java/org/apache/spark/network/shuffle/protocol/BlockTransferMessage.java
@@ -67,7 +67,8 @@ public abstract class BlockTransferMessage implements 
Encodable {
 
   /** Serializes the 'type' byte followed by the message itself. */
   public byte[] toByteArray() {
-    ByteBuf buf = Unpooled.buffer(encodedLength());
+    // Allow room for encoded message, plus the type byte
+    ByteBuf buf = Unpooled.buffer(encodedLength() + 1);
     buf.writeByte(type().id);
     encode(buf);
     assert buf.writableBytes() == 0 : "Writable bytes remain: " + 
buf.writableBytes();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to