You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org> on 2015/12/08 17:07:11 UTC

[jira] [Comment Edited] (SPARK-11193) Spark 1.5+ Kinesis Streaming - ClassCastException when starting KinesisReceiver

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

Jean-Baptiste Onofré edited comment on SPARK-11193 at 12/8/15 4:06 PM:
-----------------------------------------------------------------------

To reproduce the issue, I added the following test in KryoSerializerSuite:

{code}
  test("Bug: SPARK-11193") {
    val ser = new KryoSerializer(conf.clone.set("spark.kryo.registrationRequired", "false"))
      .newInstance()

    val myMap: mutable.HashMap[String, String] = new mutable.HashMap[String, String]
      with mutable.SynchronizedMap[String, String]
    myMap.put("foo", "bar")
    val myMapBytes = ser.serialize(myMap)

    val deserialized: mutable.HashMap[String, String]
      with mutable.SynchronizedMap[String, String] = ser.deserialize(myMapBytes)

    deserialized.clear()
  }
{code}

When running this test, I got:

{code}
scala.collection.mutable.HashMap cannot be cast to scala.collection.mutable.SynchronizedMap
java.lang.ClassCastException: scala.collection.mutable.HashMap cannot be cast to scala.collection.mutable.SynchronizedMap
{code}

similar to what happens in KinesisReceiver.

I'm figuring out the fix to do in KryoSerializer.


was (Author: jbonofre):
I'm adding a test in KryoSerializerSuite about the support of SynchronizedMap.

> Spark 1.5+ Kinesis Streaming - ClassCastException when starting KinesisReceiver
> -------------------------------------------------------------------------------
>
>                 Key: SPARK-11193
>                 URL: https://issues.apache.org/jira/browse/SPARK-11193
>             Project: Spark
>          Issue Type: Bug
>          Components: Streaming
>    Affects Versions: 1.5.0, 1.5.1
>            Reporter: Phil Kallos
>         Attachments: screen.png
>
>
> After upgrading from Spark 1.4.x -> 1.5.x, I am now unable to start a Kinesis Spark Streaming application, and am being consistently greeted with this exception:
> java.lang.ClassCastException: scala.collection.mutable.HashMap cannot be cast to scala.collection.mutable.SynchronizedMap
> 	at org.apache.spark.streaming.kinesis.KinesisReceiver.onStart(KinesisReceiver.scala:175)
> 	at org.apache.spark.streaming.receiver.ReceiverSupervisor.startReceiver(ReceiverSupervisor.scala:148)
> 	at org.apache.spark.streaming.receiver.ReceiverSupervisor.start(ReceiverSupervisor.scala:130)
> 	at org.apache.spark.streaming.scheduler.ReceiverTracker$ReceiverTrackerEndpoint$$anonfun$9.apply(ReceiverTracker.scala:542)
> 	at org.apache.spark.streaming.scheduler.ReceiverTracker$ReceiverTrackerEndpoint$$anonfun$9.apply(ReceiverTracker.scala:532)
> 	at org.apache.spark.SparkContext$$anonfun$38.apply(SparkContext.scala:1982)
> 	at org.apache.spark.SparkContext$$anonfun$38.apply(SparkContext.scala:1982)
> 	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
> 	at org.apache.spark.scheduler.Task.run(Task.scala:88)
> 	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Worth noting that I am able to reproduce this issue locally, and also on Amazon EMR (using the latest emr-release 4.1.0 which packages Spark 1.5.0).
> Also, I am not able to run the included kinesis-asl example.
> Built locally using:
> git checkout v1.5.1
> mvn -Pyarn -Pkinesis-asl -Phadoop-2.6 -DskipTests clean package
> Example run command:
> bin/run-example streaming.KinesisWordCountASL phibit-test kinesis-connector https://kinesis.us-east-1.amazonaws.com



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org