[ 
https://issues.apache.org/jira/browse/SPARK-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14045413#comment-14045413
 ] 

Saisai Shao commented on SPARK-2104:
------------------------------------

Hi Reynold, is that annoying message you mentioned above?

{quote}
org.apache.spark.SparkException: Job aborted due to stage failure: Task not 
serializable: java.io.NotSerializableException: 
$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$JavaNonSerializableClass
{quote}

Seems we can implement writeObject and readObject to use specified serializer 
like {{ParallelCollectionPartition}}, is that what you want?


> RangePartitioner should use user specified serializer to serialize range 
> bounds
> -------------------------------------------------------------------------------
>
>                 Key: SPARK-2104
>                 URL: https://issues.apache.org/jira/browse/SPARK-2104
>             Project: Spark
>          Issue Type: Bug
>            Reporter: Reynold Xin
>
> Otherwise it is pretty annoying to do a sort on types that are not java 
> serializable. 
> To reproduce, just set the serializer to Kryo, and run the following job:
> {code}
> class JavaNonSerializableClass extends Comparable { override def compareTo(o: 
> JavaNonSerializableClass) = 0 }
> sc.parallelize(Seq(new JavaNonSerializableClass, new 
> JavaNonSerializableClass), 2).map(x => (x,x)).sortByKey()
> {code}
> Basically the partitioner will always be serialized using Java (by the task 
> closure serializer). However, the rangeBounds variable in RangePartitioner 
> should be serialized with the user specified serializer. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to