This is less of a question and more of a PSA.

It looks like there is some sort of binary incompatible change in the scala 
standard library class `scala.collection.immutable.::`  between point releases 
of scala 2.11. CaseClassTypeInfo generated by the type information macro will 
fail to deserialize in user code with parent first class loading if the 
application is not compiled with 2.11.12.  The following will work with Child 
First Class Loading but fail with Parent First.


case class CustomClass(a: Int, b: Float)

class CustomMapFunction[T >: Null : TypeInformation] extends 
MapFunction[String, T] {
  override def map(value: String) = {
    val typeInfo = implicitly[TypeInformation[T]]

    // custom deserialization here
    null
  }
}


env
  .fromCollection(Iterator[String](""))
  .map(new CustomMapFunction[CustomClass])
  .print()



[cid:image001.png@01D38AC3.21940180]<http://www.mediamath.com/>

Seth Wiesman | Software Engineer, Data

4 World Trade Center, 46th Floor, New York, NY 10007



Reply via email to