-
- Downloads
[SPARK-10914] UnsafeRow serialization breaks when two machines have different Oops size.
UnsafeRow contains 3 pieces of information when pointing to some data in memory (an object, a base offset, and length). When the row is serialized with Java/Kryo serialization, the object layout in memory can change if two machines have different pointer width (Oops in JVM). To reproduce, launch Spark using MASTER=local-cluster[2,1,1024] bin/spark-shell --conf "spark.executor.extraJavaOptions=-XX:-UseCompressedOops" And then run the following scala> sql("select 1 xx").collect() Author: Reynold Xin <rxin@databricks.com> Closes #9030 from rxin/SPARK-10914.
Showing
- sql/catalyst/src/main/java/org/apache/spark/sql/catalyst/expressions/UnsafeRow.java 44 additions, 3 deletions.../org/apache/spark/sql/catalyst/expressions/UnsafeRow.java
- sql/core/src/test/scala/org/apache/spark/sql/UnsafeRowSuite.scala 28 additions, 1 deletion.../src/test/scala/org/apache/spark/sql/UnsafeRowSuite.scala
Please register or sign in to comment